0
 char string[50], s[50];
 File *f = tmpfile();
 count = 1;

 while (fgets(string, 50, stdin)) {
    if (string[0] == '!') {
        rewind(f);
    } else {
        fwrite(string, 50, 1, f);
    }

    if (strcmp("history\n", string) == 0) {
        rewind(f);
        while(fgets(s, 50, f)) {
            printf("\t%d  %s", count, s);
            count++;
        }
        count = 1;
    }
 }

このコードのコンテキストはそれほど重要ではありません。fgets問題は、「ls」、「date」、および「history」を取り込むとしましょう。結果の出力は次のとおりです。

1  ls
2   3  te
4   5  ory
6 

そのはず:

1  ls
2  date
3  history
4

1 に答える 1