溫馨提示×

首頁 > 教程 > 編程開發(fā) > C++語言編程基礎(chǔ) > 文件流和文件指針

文件流和文件指針

在C++中,文件操作是通過文件流(fstream)和文件指針(FILE*)來實(shí)現(xiàn)的。文件流是C++的一種類,提供了對文件進(jìn)行輸入和輸出操作的方法,而文件指針是C語言中對文件進(jìn)行操作的方法。

文件流(fstream)

文件流可以分為輸入流和輸出流,分別用于從文件中讀取數(shù)據(jù)和向文件中寫入數(shù)據(jù)。

1. 打開文件

要使用文件流,首先需要打開文件??梢允褂胒stream類的構(gòu)造函數(shù)來打開文件,也可以使用open()方法來打開文件。

#include <fstream>

std::ifstream infile("input.txt");  // 打開一個(gè)輸入文件
std::ofstream outfile("output.txt");  // 打開一個(gè)輸出文件

// 使用open()方法打開文件
std::ifstream infile;
infile.open("input.txt");

2. 讀取文件內(nèi)容

使用文件流對象的>>運(yùn)算符可以從文件中讀取數(shù)據(jù),使用getline()方法可以讀取一行數(shù)據(jù)。

int num;
infile >> num;  // 從文件中讀取一個(gè)整數(shù)

std::string line;
getline(infile, line);  // 從文件中讀取一行字符串

3. 寫入文件內(nèi)容

使用文件流對象的<<運(yùn)算符可以向文件中寫入數(shù)據(jù)。

int num = 10;
outfile << num;  // 向文件中寫入一個(gè)整數(shù)

std::string line = "Hello, world!";
outfile << line;  // 向文件中寫入一行字符串

4. 關(guān)閉文件

使用文件流對象的close()方法可以關(guān)閉文件。

infile.close();  // 關(guān)閉輸入文件
outfile.close();  // 關(guān)閉輸出文件

文件指針(FILE*)

文件指針是C語言中對文件進(jìn)行操作的方法,使用fopen()函數(shù)打開文件,使用fread()和fwrite()函數(shù)讀取和寫入文件內(nèi)容。

1. 打開文件

使用fopen()函數(shù)打開文件。

#include <cstdio>

FILE* file = fopen("input.txt", "r");  // 以只讀模式打開文件

2. 讀取文件內(nèi)容

使用fread()函數(shù)讀取文件內(nèi)容。

char buffer[256];
fread(buffer, 1, 256, file);  // 從文件中讀取256個(gè)字節(jié)的數(shù)據(jù)

3. 寫入文件內(nèi)容

使用fwrite()函數(shù)寫入文件內(nèi)容。

char buffer[256] = "Hello, world!";
fwrite(buffer, 1, strlen(buffer), file);  // 向文件中寫入字符串

4. 關(guān)閉文件

使用fclose()函數(shù)關(guān)閉文件。

fclose(file);  // 關(guān)閉文件指針

以上是使用文件流和文件指針進(jìn)行文件操作的基本方法,根據(jù)具體需求選擇合適的方法進(jìn)行文件操作。