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

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

相关推荐
蹊黎8 小时前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
爱聊灵光的维C10 小时前
从看见世界到重构认知:在视觉与硬件的交汇处,寻找我们这代人的北极星
c语言·物联网·计算机视觉·重构·硬件工程·射频工程
AI+程序员在路上10 小时前
RV1126B 上支持的模型及全流程应用--从CNN及语音到 LLMVLM 与跨平台选型
linux·c语言·人工智能
揽星河..11 小时前
【C语言】扫雷游戏
c语言·算法·游戏
冻柠檬飞冰走茶13 小时前
PTA刷题集之Airline Routes(C语言实现)
c语言·开发语言·数据结构·算法
冻柠檬飞冰走茶13 小时前
PTA刷题集之Battle Over Cities - Hard Version(C语言实现)
c语言·开发语言·数据结构·算法
Lxx_Zw18 小时前
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机
c语言·stm32·单片机·嵌入式硬件
wuminyu20 小时前
JVM执行引擎学习总结:热点字节码编译成本地机器码
java·linux·c语言·jvm·c++
佳得动20 小时前
编译和链接的认识(C语言)
c语言·开发语言
Navigator_Z21 小时前
LeetCode //C - 1313. Decompress Run-Length Encoded List
c语言·算法·leetcode