错误说没有这样的文件或目录我将文件移动到项目文件夹
int main(int argc, const char * argv[]) {
int i;
char singleline[150];
FILE *file;
file = fopen("test.txt", "r");
puts(singleline);
if( file == NULL ) {
perror("Error: ");}
fclose (file);
}
return 0;
}
答案 0 :(得分:1)
我猜你真的需要帮助调试为什么会发生这种情况。
尝试在日常工作中添加更多代码,以帮助您确定正在进行的操作。要尝试的一件事是致电getcwd
。
#include <unistd.h>
...
char buf[PATH_MAX];
printf("cwd: %s\n", getcwd(buf, sizeof(buf)));
...
这应该报告您的程序认为它在哪里运行。
您报告您获得以下输出:
cwd: /Users/ahmedhossam/Library/Developer/Xcode/DerivedData/assembler-doinswpyuiekhhemczblkainroaw/Build/Products/Debug `ֿ_\377
子>
从第一个开始,我猜你接下来的步骤对你来说很明显。
报告的当前工作目录(因此,
getcwd
)不是您的项目文件夹。您可以将文件复制到该奇怪目录,也可以使用chdir
将工作目录更改为项目文件夹,也可以按照以下建议指定文件的绝对路径。
您可以通过指定文件的绝对路径来完全避免此问题。
file = fopen("/the/absolute/path/to/test.txt", "r");