编程: 将输入复制到输出,并将中的制表符替换为\t,回退符替换为\b,反斜杠替换为\\,这样可以将制表符和回退符以可见 的方式显示出来。
!!!???
回退符号???
!!!???
没有见到过在文本文件中还存在回退符号的情况,我只能在一个字符串中以char c = '/x8' 的方式表示出一个回退符号。
所以在下面的程序中,实际上没有处理到回退符号,但是不影响程序本身的思路!。。
代码:
#include <stdio.h>
#include <stdlib.h>
void copyIO(FILE *fin, FILE *fout);
int main(int argc, char *argv[])
{
FILE *fin = fopen("main.c", "r");
if (fin == NULL) {
perror("open file error");
exit(1);
}
copyIO(fin, stdout);
return 0;
}
void copyIO(FILE *fin, FILE *fout)
{
int c = 0;
while ((c = fgetc(fin)) != EOF) {
if (c == '\t') {
fputc('\\', fout);
fputc('t', fout);
} else if (c == '\b') {
fputc('\\', fout);
fputc('b', fout);
} else if (c == '\\') {
fputc('\\', fout);
fputc('\\', fout);
}else {
fputc(c, fout);
}
}
}