正如标题所示,我必须制作一个模拟CAT命令的程序,到目前为止,我已经有了基本的输入和输出工作,但我现在需要包括-n .....等选项。
while((rd = getchar()) != EOF){
if(putchar(rd) == EOF){
perror("Write Err");
return EXIT_FAILURE
}
}
return EXIT_SUCCESS;
打印选项(例如编号线或美元符号)到实际输出的最佳方法是什么?我应该将我的I / O方法更改为fgets
和fputs
(这样我就可以打印出带有原始输入的字符串格式的编号行)另外我应该使用malloc realloc,因为没有明确的用户输入的大小?
答案 0 :(得分:0)
为了添加行号和美元符号,您需要做的就是检查正在处理的字符是否是新行:
if (rd == '\n') {
putchar($);
}
动态内存分配在这里没有帮助。
使用putchar()是低效的。切换到puts()会产生更好的性能。这也需要更复杂的逻辑。