2016-03-22 43 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