c语言

c语言怎么修改txt文件内容

小亿
402
2023-11-14 16:19:28
栏目: 编程语言

在C语言中,可以使用以下步骤修改txt文件的内容:

  1. 打开文件:使用fopen()函数打开需要修改的txt文件,指定打开模式为“r+”以允许读写操作。
FILE *file = fopen("file.txt", "r+");
if (file == NULL) {
    printf("无法打开文件!\n");
    return 1;
}
  1. 定位要修改的位置:使用fseek()函数将文件指针移动到需要修改的位置。可以使用ftell()函数获取当前文件指针的位置。
int offset = 5; // 假设要修改的位置在文件的第6个字符后面
fseek(file, offset, SEEK_SET);
  1. 修改文件内容:使用fputc()函数在文件指针的当前位置写入新的字符。可以使用循环来一次写入多个字符。
int ch;
while ((ch = fgetc(file)) != EOF) {
    // 修改字符
    // 例如将小写字母转换为大写字母
    if (ch >= 'a' && ch <= 'z') {
        ch = ch - 32;
    }
    // 写入修改后的字符
    fseek(file, -1, SEEK_CUR); // 将文件指针退回到当前位置
    fputc(ch, file);
}
  1. 关闭文件:使用fclose()函数关闭文件。
fclose(file);

完整示例代码如下:

#include <stdio.h>

int main() {
    FILE *file = fopen("file.txt", "r+");
    if (file == NULL) {
        printf("无法打开文件!\n");
        return 1;
    }

    int offset = 5;
    fseek(file, offset, SEEK_SET);

    int ch;
    while ((ch = fgetc(file)) != EOF) {
        if (ch >= 'a' && ch <= 'z') {
            ch = ch - 32;
        }
        fseek(file, -1, SEEK_CUR);
        fputc(ch, file);
    }

    fclose(file);
    return 0;
}

注意:在修改文件内容之前,应该确保文件已经存在且具有读写权限。

0
看了该问题的人还看了