找不到文本文件

时间:2017-12-14 00:07:20

标签: c xcode file

错误说没有这样的文件或目录我将文件移动到项目文件夹

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;

}

1 个答案:

答案 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/assem‌​bler-doinswpyuiekhhe‌​mczblkainroaw/Build/‌​Products/Debug `ֿ_\377

从第一个开始,我猜你接下来的步骤对你来说很明显。

  

报告的当前工作目录(因此,getcwd)不是您的项目文件夹。您可以将文件复制到该奇怪目录,也可以使用chdir将工作目录更改为项目文件夹,也可以按照以下建议指定文件的绝对路径。

您可以通过指定文件的绝对路径来完全避免此问题。

file = fopen("/the/absolute/path/to/test.txt", "r");