编写一个程序,读取标准输入并将每一行回显到标准输出,并在其前面加上行号和制表符。当您运行此程序并从终端输入行时,输入行将散布在输出行中。如果您的系统具有输出重定向,并且您将输出重定向到一个文件,则该文件将看起来像带有编号行的输入。
这是一个脚本应该如何工作的例子。
用户输入的粗体。
输入您的文字:
这是第 1 行。
1 这是第 1 行。
这是第 2 行。
2 这是第 2 行。
这是最后一行输入。
3 这是最后一行输入。
最后一行将结束进程。
这是我目前所拥有的:
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Enter your text: \n");
while (1)
{
int ch = getc(stdin);
fflush(stdout);
if(ch == EOF) break;
putc(ch, stdout);
}
return 0;
}
我已经尝试了几个小时但没有成功,感谢您的帮助。我基本上无法让我的脚本显示示例输出。我可以让我的脚本将标准输入显示为标准输出,仅此而已。这是 C 作业。
最佳答案
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int main(void){
size_t no = 0;
bool line_top = true;
printf("Enter your text: \n");
while (1) {
int ch = fgetc(stdin);
if(ch == EOF) break;
if(line_top)
printf("%zu ", ++no);
line_top = (ch == '\n');
fputc(ch, stdout);
}
fflush(stdout);
return 0;
}
关于c - 将标准输入回显到标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33355563/