0

タイトルが示すように、CAT コマンドをエミュレートするプログラムを作成する必要があります。これまでのところ、基本的な入力と出力が機能していますが、-n などのオプションを含める必要があります.....

while((rd = getchar()) != EOF){
   if(putchar(rd) == EOF){
       perror("Write Err");
       return EXIT_FAILURE
   }

}

return EXIT_SUCCESS;

番号付き行やドル記号などのオプションを実際の出力に印刷する最良の方法は何ですか?? I/O メソッドをfgetsandに変更する必要がありfputsます (そうすれば、番号付きの行を元の入力を文字列形式で出力できます) また、ユーザー入力の明確なサイズがないため、malloc realloc を使用する必要がありますか?

4

1 に答える 1

0

行番号とドル記号を追加するには、処理中の文字が改行かどうかを確認するだけです。

if (rd == '\n') {
        putchar($);
}

ここでは、動的メモリ割り当ては役に立ちません。

putchar() の使用は非効率的です。puts() に切り替えると、パフォーマンスが向上します。これには、より複雑なロジックも必要になります。

于 2013-03-05T13:56:47.017 に答える