指針和整數之間的比較,我得到一個警告警告:用C
warning: comparison between pointer and integer
從下一段代碼包含if
行:
char cwd[1024];
if (getcwd(cwd, sizeof(cwd)) != (char*)NULL)
printf("%s\n",cwd);
else
error_print("error in pwd");
怎麼和我需要做什麼修理?
指針和整數之間的比較,我得到一個警告警告:用C
warning: comparison between pointer and integer
從下一段代碼包含if
行:
char cwd[1024];
if (getcwd(cwd, sizeof(cwd)) != (char*)NULL)
printf("%s\n",cwd);
else
error_print("error in pwd");
怎麼和我需要做什麼修理?
在以下鏈接的返回類型部分,getcwd在失敗時返回null。因此,不是檢查!= (char *)NULL
只是檢查!= NULL
良好的做法,但它不會解決問題。 – 2011-04-13 19:49:09
修改符合這一個if (getcwd(cwd, sizeof(cwd)) != NULL)
良好的做法,但它不會解決問題。 – 2011-04-13 19:49:33
有你包括必要的.h,使編譯器瞭解什麼GETCWD回報?
您的c編譯器的行爲可能會假定每個未定義函數的int返回值。
的getcwd原型是
char *getcwd(char *buf, size_t size);
請務必包括<unistd.h>
否則,返回類型將默認爲int
。
這裏連Ideone給出它的Current Working Directory
哪個編譯器? – BlackBear 2011-04-13 19:45:31