c语言文档编辑程序代码

122 阅读1分钟

#include <stdio.h> #include <stdlib.h> #include <string.h>

// 定义最大行长度和缓冲区大小 #define MAX_LINE_LENGTH 1024 #define BUFFER_SIZE 10240

// 读取文件内容并显示 void readFile(char *filename) { FILE *file = fopen(filename, "r"); if (file == NULL) { printf("无法打开文件 %s\n", filename); return; }

char line[MAX_LINE_LENGTH];
while (fgets(line, MAX_LINE_LENGTH, file)!= NULL) {
    printf("%s", line);
}

fclose(file);

}

// 输入内容并保存到文件 void writeFile(char *filename) { FILE *file = fopen(filename, "w"); if (file == NULL) { printf("无法创建或打开文件 %s 进行写入\n", filename); return; }

printf("输入要保存的内容,输入'q'结束输入:\n");
char line[MAX_LINE_LENGTH];
while (1) {
    printf("> ");
    fgets(line, MAX_LINE_LENGTH, stdin);
    line[strcspn(line, "\n")] = '\0';  // 去除换行符

    if (strcmp(line, "q") == 0) {
        break;
    }

    fprintf(file, "%s\n", line);
}

fclose(file);

}

int main() { int choice; char filename[100];

do {

    printf("1. 读取文件\n");
    printf("2. 输入并保存到文件\n");
    printf("3. 继续编辑\n");
    printf("4. 退出\n");
    printf("请选择操作: ");
    scanf("%d", &choice);
                printf("请输入文件名: ");
scanf("%s", filename);
    switch (choice) {
        case 1:
            readFile(filename);
            break;
        case 2:
            writeFile(filename);
            break;
        case 3:
            // 继续编辑的逻辑
            printf("继续编辑\n");
            break;
        case 4:
            printf("退出程序\n");
            return 0;
        default:
            printf("无效的选择\n");
            break;
    }
} while (1);

return 0;

}