尝试学习C.想要阅读文本文件的第一行,我的代码是:
#include <stdio.h>
int main()
{
FILE *in = fopen("test.txt", "rt");
// read the first line from the file
char buffer[100];
fgets(buffer, 20, in);
printf("first line of \"test.txt\": %s\n", buffer);
fclose(in);
return 0;
}
我在xCode中这样做。我得到一个错误的访问错误。 test.txt肯定存在。它有一行说“这是一个文本文件”
答案 0 :(得分:1)
在fopen()
致电后尝试此操作:
if(in == NULL){
printf("Can't read teste.txt because: %s.\n", strerror(errno));
return 1;
}
并添加标题:
#include <errno.h>
#include <string.h>
答案 1 :(得分:0)
您不检查FILE
是否为NULL。由于几个原因,它可能无法打开。
答案 2 :(得分:0)
代码看起来很好,所以我的猜测是该程序不在与文件相同的工作目录中运行。尝试将文件放在/tmp/test.txt
中,并使用fopen
中的绝对路径。