将一下C语言改写成C++,会的请举手……
#include "stdio.h" FILE *fp;main( )
{ int c, d;
if((fp = fopen("d:\\tc\\test8.c","r")) == NULL)
exit(0);
while((c=fgetc(fp)) != EOF)
if( c=='/' ) /* 如果是字符注释的起始字符'/' */
if((d=fgetc(fp)) == '*') /* 则判断下一个字符是否为'*' */
in_comment(); /* 调用函数处理(删除)注释 */
else /* 否则原样输出读入的两个字符 */
{ putchar(c);
putchar(d);
}
else
if( c=='\'' || c=='\"') /* 判断是否是字符'或" */
echo_quote(c); /* 调用函数处理字符'或"包含的字符 */
else putchar(c);
}
in_comment()
{ int c, d;
c=fgetc(fp);
d=fgetc(fp);
while( c!='*' || d!='/' )
{ /* 连续的两个字符不是 * 和 / 则继续处理注释 */
c = d;
d = fgetc(fp);
}
}
echo_quote (c)
int c; /* c中存放的是定界符'或" */
{ int d;
putchar(c);
while(( d=fgetc(fp))!=c) /* 读入下一个字符判断是否是定界符c */
{ putchar(c); /* 当不是定界符c时继续循环 */
if(d=='\\') /* 若出现转义字符\ */
putchar( fgetc(fp)); /* 则下一个字符不论是何均原样输出 */
}
putchar(d);
}