溫馨提示×

c語言怎么修改txt文件內容

小億
450
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()函數將文件指針移動到需要修改的位置??梢允褂?code>ftell()函數獲取當前文件指針的位置。
int offset = 5; // 假設要修改的位置在文件的第6個字符后面
fseek(file, offset, SEEK_SET);
  1. 修改文件內容:使用fputc()函數在文件指針的當前位置寫入新的字符??梢允褂醚h來一次寫入多個字符。
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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女