gpt4 book ai didi

c - 统计返回 ENOENT

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:00:38 24 4
gpt4 key购买 nike

我正在运行以下程序,它使用 stat() 检查文件是否存在。但是,当我传递一个路径时,比如 $HOME/file.sh,它失败并出现 ENOENT 错误。但是当我通过扩展路径即 /root/file.sh 时,stat() 返回成功即退出代码 0。

int main ()
{
struct stat statbuf;
char path [1024];
strcpy(path,"$HOME/file.sh");

int rc = stat(path,&statbuf);

if (rc == -1 )
{
printf ("File not found !!\n");
}
else
printf("Found it !!\n");

return 0;
}

最佳答案

strcpy() 不会将环境变量 $HOME 扩展为其值,但会按照指定复制提取的字符串文字。您可以使用 getenv() 获取 $HOME 的值.

将您的失败消息更改为:

printf("File not found: %s\n", path);

确认。

关于c - 统计返回 ENOENT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12477936/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com