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文件注释过滤。程序运行后黑框一直不关闭,输出后的文件是空的。求指教~的主要内容,如果未能解决你的问题,请参考以下文章

各位大虾 vs2010 编译c语言程序 运行时窗口自动关闭 怎么回事?

我的vc 6.0 可以编译,可用链接,点击执行,显示ready,但弹不出黑框

如何在 C 语言中将所有 // 注释更改为 /* */ 注释? [关闭]

C语言的运行文件完了,怎么会自动关闭窗口啊?

用c语言编的程序生成exe文件为啥一打开马上就自动关闭了啊

C# 打开新窗口后,怎么让程序继续运行。不关闭新窗口的前提下。