1.问题
编写一个输入复制到输出的程序,并将其中的制表符替换为\t,回退符替换为\b,反斜杠替换为\\。这样可以将他们以可见形式显示出来。
2.代码
#include <stdio.h>
int main(int argc, char *argv[]) {
int c;
while ( (c = getchar()) != EOF )
{
if ( c != '\t' && c != '\b' && c != '\\' )
{
putchar(c);
}
else
{
if( c == '\t' )
printf("\\t");
if( c == '\b' )
printf("\\b");
if( c == '\\' )
printf("\\\\");
}
}
return 0;
}
3. 问题
在Windows系统中,回退符Backspace不显示。查询资料后了解到getchar()不能捕获到键盘输入Backspace,改用为getch可解决。
另外注意的一个点就是'\\',输出的时候应该是\\\\,反斜杠默认是用来转意的,在前面加一个反斜杠才表示字符\。
- getchar
标准函数,从标准输入流获取一个字符 - getch
非标准函数,从键盘获取一个字符(与标准输入流不同且不回显1)
↩@echo xxx (回显) 执行命令,输出 xxx echo xxx (不回显) 执行命令,输出 echo xxx ---- 执行回显则会把命令隐藏,反之显示
本文介绍了一个简单的C程序,用于将输入流中的制表符、回退符和反斜杠以可见形式输出。在Windows环境下,使用getch()替代getchar()以正确处理Backspace键。
1803

被折叠的 条评论
为什么被折叠?



