c语言,.c文件注释过滤。程序运行后黑框一直不关闭,输出后的文件是空的。求指教~

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言,.c文件注释过滤。程序运行后黑框一直不关闭,输出后的文件是空的。求指教~相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
main()

int num=0;
FILE* cPtr=NULL;
FILE* nextPtr=NULL;
char ch;

if((cPtr=fopen("primary.c","r"))==NULL)

printf("File could not be opened.");

else

if((nextPtr=fopen("next.c","w"))==NULL)

printf("File2 could not be opened. ");

else

ch=fgetc(cPtr);
while(!feof(cPtr))

if(ch=='/')

ch=fgetc(cPtr);
if(ch=='/')

ch=fgetc(cPtr);
while(ch!='\n')

ch=fgetc(cPtr);

printf("\n");

else if(ch=='*')

ch=fgetc(cPtr);
while(!feof(cPtr))

if(ch=='*')
ch=fgetc(cPtr);
if(ch=='/')

break;



else

fputc(ch,nextPtr);


else

fputc(ch,nextPtr);

ch=fgetc(cPtr);




fclose(cPtr);fclose(nextPtr);

return 0;

持续读入字符直到*/符号这个过程,LZ你忘记持续读入字符了。
while(!feof(cPtr))

if(ch=='*')
ch=fgetc(cPtr);
if(ch=='/')

break;


//添加读入字符
else ch = fgetc(cPtr);

参考技术A while(!feof(cPtr))

if(ch == '*')

ch = fgetc(cPtr);
if(ch == '/')

break;

ch = fgetc(cPtr); // 读取下一个字符,否则这里会成为死循环

参考技术B 我试了一下下,我输入了完整路径,读入和写出都没问题啊,是不是你的那个primary.c文件找不到,或者路径不正确,你试一下完整路径看对不对

以上是关于c语言,.c文件注释过滤。程序运行后黑框一直不关闭,输出后的文件是空的。求指教~的主要内容,如果未能解决你的问题,请参考以下文章