警告:C中指针和整数之间的比较
我得到一个警告警告:C中指针和整数之间的比较,c,pointers,warnings,getcwd,C,Pointers,Warnings,Getcwd,我得到一个警告 警告:指针和整数之间的比较 在包含下一段代码的if的行上: char cwd[1024]; if (getcwd(cwd, sizeof(cwd)) != (char*)NULL) printf("%s\n",cwd); else error_print("error in pwd"); 我需要如何修复以及修复什么?是否包括unistd.h?如果不是,则会出现错误,因为C编译器假定getcwd返回int 修复?包括unistd.h您是否包括unistd.h?如
警告:指针和整数之间的比较
在包含下一段代码的if
的行上:
char cwd[1024];
if (getcwd(cwd, sizeof(cwd)) != (char*)NULL)
printf("%s\n",cwd);
else
error_print("error in pwd");
我需要如何修复以及修复什么?是否包括unistd.h?如果不是,则会出现错误,因为C编译器假定getcwd返回int
修复?包括unistd.h您是否包括unistd.h?如果不是,则会出现错误,因为C编译器假定getcwd返回int
修复?在下面链接的返回类型部分包含unistd.h,getcwd在失败时返回null。因此,不必检查
!=(char*)NULL
只需检查!=空
在下面链接的“返回类型”部分,getcwd在失败时返回null。因此,不必检查
!=(char*)NULL
只需检查!=空
用这一行修改
if(getcwd(cwd,sizeof(cwd))!=NULL)
用这一行修改if(getcwd(cwd,sizeof(cwd))!=NULL)
是否包含了必要的.h以便编译器理解getcwd返回的内容
c编译器的行为可能是假设每个未定义函数都有一个int返回值。是否包含了必要的.h,以便编译器理解getcwd返回的内容 c编译器的行为可能是假定每个未定义函数都有一个int返回值。的原型是 确保包含
,否则返回类型将默认为int
在这里,即使是Ideone也给出了它的is的原型
确保包含
,否则返回类型将默认为int
在这里,即使是Ideone也给出了它的良好实践,但它无法解决问题。良好实践,但它无法解决问题。良好实践,但它无法解决问题。良好实践,但它无法解决问题。我没有收到任何错误,只是警告而已,stdio.h或stdlib.h中是否有原型def--------------------int-getcwd(char*buf,size\u t size);我没有收到任何错误,只是警告一下,stdio.h或stdlib.h中是否有任何原型定义--------------------int getcwd(char*buf,size\u t size);
char *getcwd(char *buf, size_t size);