我不知道为什么我使用chdir
遇到此错误。我尝试使用if(chdir(C->args[1])==1); else
,但它不起作用:
if(C->arg_count > 1)
{
chdir(C->args[1]);
}
else
{
chdir(getenv("HOME"));
}
这是错误:
error: ignoring return value of ‘chdir’, declared with attribute warn_unused_result [-Werror=unused-result]
chdir(C->args[1]);
^~~~~
最佳答案
该错误是不言自明的。您需要检查返回值:
if(chdir("...") == -1)
{
perror("chdir");
/* return error of some sort, don't continue */
}
确保将上面的注释替换为实际错误,例如
return -1;
(在函数中)或return EXIT_FAILURE;
(在main
中)。同样,
1
被隐式转换为unsigned char
。您不需要演员表。关于c - 如何解决“忽略返回值”错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60458168/