c語言怎么讀寫txt文件

小億
229
2023-11-14 15:26:05
欄目: 編程語言

在C語言中,可以使用stdio.h頭文件中的函數(shù)來讀寫txt文件。

  1. 打開文件:可以使用fopen函數(shù)來打開一個(gè)txt文件。該函數(shù)的原型為:FILE *fopen(const char *filename, const char *mode)。

    • filename表示要打開的文件名,可以是絕對(duì)路徑或者相對(duì)路徑。
    • mode表示打開文件的模式,常用的模式有:
      • “r”:只讀模式,打開一個(gè)已經(jīng)存在的文件。
      • “w”:寫入模式,打開一個(gè)文件進(jìn)行寫入,如果文件不存在則創(chuàng)建一個(gè)新文件,如果文件存在則清空文件內(nèi)容。
      • “a”:追加模式,打開一個(gè)文件進(jìn)行寫入,如果文件不存在則創(chuàng)建一個(gè)新文件,如果文件存在則在文件末尾追加內(nèi)容。
      • “r+”:讀寫模式,打開一個(gè)已經(jīng)存在的文件,可以進(jìn)行讀和寫操作。
      • “w+”:讀寫模式,打開一個(gè)文件進(jìn)行讀寫,如果文件不存在則創(chuàng)建一個(gè)新文件,如果文件存在則清空文件內(nèi)容。
      • “a+”:讀寫模式,打開一個(gè)文件進(jìn)行讀寫,如果文件不存在則創(chuàng)建一個(gè)新文件,如果文件存在則在文件末尾追加內(nèi)容。
  2. 讀取文件:可以使用fgets函數(shù)從打開的文件中讀取內(nèi)容。該函數(shù)的原型為:char *fgets(char *str, int n, FILE *stream)

    • str是用來存儲(chǔ)讀取內(nèi)容的字符數(shù)組。
    • n是要讀取的字符數(shù)。
    • stream是文件指針,指向已經(jīng)打開的文件。
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
    printf("Failed to open file.\n");
    return 1;
}

char buffer[100];
while (fgets(buffer, sizeof(buffer), file) != NULL) {
    printf("%s", buffer);
}

fclose(file);
  1. 寫入文件:可以使用fprintf函數(shù)將內(nèi)容寫入文件。該函數(shù)的原型為:int fprintf(FILE *stream, const char *format, ...)
    • stream是文件指針,指向已經(jīng)打開的文件。
    • format是要寫入的格式化字符串,可以使用類似printf函數(shù)的格式占位符。
FILE *file = fopen("example.txt", "w");
if (file == NULL) {
    printf("Failed to open file.\n");
    return 1;
}

fprintf(file, "Hello, World!\n");
fprintf(file, "This is a test file.\n");

fclose(file);

以上代碼演示了如何讀取和寫入txt文件。需要注意的是,在使用完文件后,需要使用fclose函數(shù)關(guān)閉文件。

0