删除文件中的注释(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;}

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

相关推荐
C语言不精6 分钟前
c语言-优雅的多级菜单设计与实现
c语言·开发语言·算法
star learning white2 小时前
xmC语言10
c语言·开发语言
福尔摩斯张2 小时前
从Select到Epoll:深度解析Linux I/O多路复用演进之路(超详细)
linux·运维·服务器·c语言·网络
qq_7391753693 小时前
开源基于STC8的智能浇花与温湿度报警系统
c语言·stm32·单片机·嵌入式硬件
GesLuck3 小时前
Beaglebone BB Black C版 AM3358(一)
c语言·开发语言·物联网·硬件架构
hefaxiang3 小时前
C语言数据类型和变量(上)
c语言·开发语言
Bona Sun3 小时前
单片机手搓掌上游戏机(二十一)—pico运行doom之修改编译
c语言·c++·单片机·游戏机
松涛和鸣3 小时前
23、链式栈(LinkStack)的实现与多场景应用
linux·c语言·c++·嵌入式硬件·ubuntu
liu****4 小时前
11.字符函数和字符串函数(一)
linux·运维·c语言·开发语言·数据结构·算法
Geek__19924 小时前
STM32F103 ADC DMA采样与均值滤波处理实战指南
c语言·stm32