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 回答