将文本读入C.获取错误的exec错误

时间:2012-04-16 19:58:57

标签: c

尝试学习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肯定存在。它有一行说“这是一个文本文件”

3 个答案:

答案 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中的绝对路径。