制表符、回退符、反斜杠替换为其命令字符形式输出
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 ---- 执行回显则会把命令隐藏,反之显示
本文由作者原创,如需转载注明出处!

浙公网安备 33010602011771号