C连接CAT程序的选项?

时间:2013-03-05 11:22:09

标签: c command-line cat

正如标题所示,我必须制作一个模拟CAT命令的程序,到目前为止,我已经有了基本的输入和输出工作,但我现在需要包括-n .....等选项。

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

}

return EXIT_SUCCESS;

打印选项(例如编号线或美元符号)到实际输出的最佳方法是什么?我应该将我的I / O方法更改为fgetsfputs(这样我就可以打印出带有原始输入的字符串格式的编号行)另外我应该使用malloc realloc,因为没有明确的用户输入的大小?

1 个答案:

答案 0 :(得分:0)

为了添加行号和美元符号,您需要做的就是检查正在处理的字符是否是新行:

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

动态内存分配在这里没有帮助。

使用putchar()是低效的。切换到puts()会产生更好的性能。这也需要更复杂的逻辑。