删除文件中的注释(C语言)

【题目描述】删除文件中的注释:将C语言源程序(hello.c)文件中的所有注释去掉后存入另一个文件(new_hello.c)。试编写相应程序。

【代码】

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;}

暂时没有想到好的方法,生气!!!

相关推荐
wuyk55515 小时前
嵌入式驱动开发:量产级工程化实战(第9篇)——低功耗下的通信可靠性
c语言·驱动开发·stm32·单片机·嵌入式硬件
学逆向的15 小时前
C 突破编译器限制
c语言·开发语言·网络安全
endeavor1217 小时前
can总线(五)
c语言·stm32·单片机·can
老王爱玩车18 小时前
预处理详解
c语言·开发语言·学习
学逆向的19 小时前
C 控制台指令
c语言·开发语言·网络安全
沫璃染墨19 小时前
从零入门数据结构与算法(一):复杂度分析——从算法效率到时间与空间复杂度
c语言·开发语言·数据结构·笔记·算法·飞书
想做小南娘,发现自己是女生喵19 小时前
第三周学习文档 Linux C 多进程与多线程
linux·c语言·学习
听风若依21 小时前
函数栈帧的创建与销毁-重置版
c语言·学习
水饺编程21 小时前
第2章:Linux 基础,pwd 命令
linux·c语言·汇编
鱼很腾apoc21 小时前
【MySQL】 第1期 从核心概念到表约束全解析
linux·c语言·数据库·学习·mysql