0

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は間違いなく存在します。「これはテキストファイルです」という1行があります

4

3 に答える 3

1

fopen()呼び出し後にこれを試してください:

if(in == NULL){
    printf("Can't read teste.txt because: %s.\n", strerror(errno));
    return 1;
 }

ヘッダーを追加します。

#include <errno.h>
#include <string.h>
于 2012-04-16T20:11:21.637 に答える
0

コードは問題ないように見えるので、プログラムはファイルと同じ作業ディレクトリで実行されていないと思います。たとえば、ファイルをに配置し、で/tmp/test.txt絶対パスを使用してみてくださいfopen

于 2012-04-16T20:02:52.333 に答える
0

FILEがNULLかどうかはチェックしません。いくつかの理由で開かない場合があります。

于 2012-04-16T20:01:23.647 に答える