【题目描述】删除文件中的注释:将C语言源程序(hello.c)文件中的所有注释去掉后存入另一个文件(new_hello.c)。试编写相应程序。
【代码】
#include <stdio.h>
#include <stdlib.h>
int main(void) {
FILE *fp1, *fp2;
if ((fp1=fopen("hello.c", "r")) == NULL) {
printf("Can't open file");
exit(0);}
if ((fp2=fopen("new_hello.c", "w")) == NULL) {
printf("Can't open file");
exit(0);}
int i = 0, flg = 0;
char str[1000];
while (!feof(fp1)) {
char ch = fgetc(fp1);
if (ch == EOF) {
break;}
str[i++] = ch;}
str[i] = '\0';
for (int j=0; j<i; j++) {
if (j<i-1 && str[j]=='/' && str[j+1]=='*') {
flg = 1;}
if (flg == 0) {
fprintf(fp2, "%c", str[j]);}
if (flg==1 && j<i-1 && str[j]=='*' && str[j+1]=='/') {
flg = 0;
j++;}}
fclose(fp1);
fclose(fp2);
return 0;}
暂时没有想到好的方法,生气!!!