2016-03-22 40 views
-5

干杯,我已经隔离了这个错误,但我不知道如何解决它。显然,这行代码(C语言):“解析”代码行不允许代码执行

parse(getenv(“QUERY_STRING”));

它编译成功,但是当我运行可执行以下弹起:puu.sh/nQi41/40e81c4494.png

当我只需注释掉具体线路,代码编译和符文完美。

任何可能的解决方案呢?在此先感谢

+2

请您提供更多的周边代码,给出一些上下文。 –

+0

尝试将getenv(“QUERY_STRING”)赋值给某个先前声明的char *并告诉我们它包含的内容(通过打印它或使用调试器)。此外,解析函数是做什么的? –

+1

'getenv'最有可能返回'NULL',而你没有检查。你应该经常检查函数的返回值! –

回答

1

替换:

parse(getenv("QUERY_STRING")); 

由:

char *querystring = getenv("QUERY_STRING"); 

if (querystring == NULL) 
{ 
    printf("Could not get querystring"); 
    exit(1);  
} 

parse(querystring); 

...并阅读documentation of getenv

+0

确实解决了它,谢谢。对于这样的拖累我感到很抱歉,我现在对于getenv暂时是盲目的。祝你今天愉快 :) – EdgarC