7

ファイルから行ごとに行を読み取りたいのですが、うまくいきません。

これが私がやろうとしたことです:

FILE *file;
char *line = NULL;
int len = 0;
char read;
file=fopen(argv[1], "r");

if (file == NULL)
    return 1;

while ((read = getline(&line, len, file)) != -1) {
    printf("Retrieved line of length %s :\n", &read);
    printf("%s", line);
}

if (line)
    free(line);

return 0;

それが機能しない理由はありますか?

4

3 に答える 3

4

または、このコードを使用することもできます。ファイル全体を1行ずつ読み取り、それらの行を出力します。

char buf[1000];

ptr_file =fopen("input3.txt","r");
if (!ptr_file)
    return 1;

while (fgets(buf,1000, ptr_file)!=NULL)
    printf("%s",buf);
于 2015-04-01T17:21:39.983 に答える