请大家帮下忙看看那里错了.小弟我基础不好.多谢了
请大家帮下忙看看那里错了.我基础不好.谢谢了
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <ctype.h>
#include <stdio.h>
/*这是一个读出一个含有转义字符的文本,经过该程序输出一个转义后真实字符文本,\123代表3位八进制ASC码所对应的字符,\1234多余3位就表示成(1234)O,十六进制同理.\x20 2位16进制表示.*/
void oconvert(char,FILE *);//八进制的判断
void main()
{
FILE *in,*out;
char infile[20],outfile[20],ch;
printf( "输入要转义文件的文件名: ");
scanf( "%s ",infile);
printf( "输入要存放转义后文件的文件名: ");
scanf( "%s ",outfile);
in=fopen(infile, "r ");
out=fopen(outfile, "w ");
while(!feof(in))
{
ch=fgetc(in);
if (ch== ' ') fputc(char(32),out); //判断字符串中的空格
else if (ch== '\\ ')
{ ch=fgetc(in);
if (ch> 47 && ch <56) oconvert(ch,out);
else {
switch (ch)
{
//case 'x ':
case 'a ': fputc(char(7),out);
break;
case 'b ': fputc(char(8),out);
break;
case 'f ': fputc(char(12),out);
break;
case 'n ': fputc(char(10),out);
break;
case 'r ': fputc(char(13),out);
break;
case 't ': fputc(char(9),out);
break;
case 'v ': fputc(char(11),out);
break;
case '\\ ': fputc(char(92),out);
break;
case '\? ': fputc(char(63),out);
break;
case '\ ' ': fputc(char(39),out);
break;
case '\ " ': fputc(char(34),out);
break;
case '\0 ': fputc(char(0),out);
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <ctype.h>
#include <stdio.h>
/*这是一个读出一个含有转义字符的文本,经过该程序输出一个转义后真实字符文本,\123代表3位八进制ASC码所对应的字符,\1234多余3位就表示成(1234)O,十六进制同理.\x20 2位16进制表示.*/
void oconvert(char,FILE *);//八进制的判断
void main()
{
FILE *in,*out;
char infile[20],outfile[20],ch;
printf( "输入要转义文件的文件名: ");
scanf( "%s ",infile);
printf( "输入要存放转义后文件的文件名: ");
scanf( "%s ",outfile);
in=fopen(infile, "r ");
out=fopen(outfile, "w ");
while(!feof(in))
{
ch=fgetc(in);
if (ch== ' ') fputc(char(32),out); //判断字符串中的空格
else if (ch== '\\ ')
{ ch=fgetc(in);
if (ch> 47 && ch <56) oconvert(ch,out);
else {
switch (ch)
{
//case 'x ':
case 'a ': fputc(char(7),out);
break;
case 'b ': fputc(char(8),out);
break;
case 'f ': fputc(char(12),out);
break;
case 'n ': fputc(char(10),out);
break;
case 'r ': fputc(char(13),out);
break;
case 't ': fputc(char(9),out);
break;
case 'v ': fputc(char(11),out);
break;
case '\\ ': fputc(char(92),out);
break;
case '\? ': fputc(char(63),out);
break;
case '\ ' ': fputc(char(39),out);
break;
case '\ " ': fputc(char(34),out);
break;
case '\0 ': fputc(char(0),out);