【发布时间】:2011-10-04 21:43:50
【问题描述】:
我的代码如下:
FILE *txt_file = fopen("data.txt", "r");
if (txt_file == NULL) {
perror("Can't open file");
}
返回的错误信息是:
无法打开文件:没有这样的文件或目录
文件 'data.txt' 肯定存在于工作目录中(它存在于包含我的 .c 和 .h 文件的目录中),那么为什么 fopen() 返回一个 NULL 指针?
【问题讨论】:
-
您是从命令行还是从 IDE 执行?如果是IDE,你确定程序的工作目录设置为包含数据文件的目录吗?
-
您可以将
ls -Fal的输出添加到相关目录吗? -
您可能没有打开它的权限。你在linux上吗?
-
你能附上整个代码吗?
-
您可以使用 _getcwd() 函数获取当前工作目录,用于调试和学习 Visual Studio 运行程序的工作目录。
标签: c visual-studio-2008 pointers null fopen