どのようにしてC言語でテキストファイルの内容を変更できますか?

C言語によるテキストファイル上書き修正の方法は以下の通りです。

  1. fopen
FILE *file = fopen("file.txt", "r+");
if (file == NULL) {
    printf("无法打开文件!\n");
    return 1;
}
  1. fseek
  2. ftell
int offset = 5; // 假设要修改的位置在文件的第6个字符后面
fseek(file, offset, SEEK_SET);
  1. 文字をファイルに出力する
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);

Native Japanese paraphrase: 以下に完全なサンプルコードを示します。

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

ファイル内容を変更する前に、ファイルの存在と読み書き権限を確認してください。

bannerAds