在C++中,文件操作是通過文件流(fstream)和文件指針(FILE*)來實(shí)現(xiàn)的。文件流是C++的一種類,提供了對文件進(jìn)行輸入和輸出操作的方法,而文件指針是C語言中對文件進(jìn)行操作的方法。
文件流可以分為輸入流和輸出流,分別用于從文件中讀取數(shù)據(jù)和向文件中寫入數(shù)據(jù)。
要使用文件流,首先需要打開文件??梢允褂胒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");
使用文件流對象的>>運(yùn)算符可以從文件中讀取數(shù)據(jù),使用getline()方法可以讀取一行數(shù)據(jù)。
int num;
infile >> num; // 從文件中讀取一個(gè)整數(shù)
std::string line;
getline(infile, line); // 從文件中讀取一行字符串
使用文件流對象的<<運(yùn)算符可以向文件中寫入數(shù)據(jù)。
int num = 10;
outfile << num; // 向文件中寫入一個(gè)整數(shù)
std::string line = "Hello, world!";
outfile << line; // 向文件中寫入一行字符串
使用文件流對象的close()方法可以關(guān)閉文件。
infile.close(); // 關(guān)閉輸入文件
outfile.close(); // 關(guān)閉輸出文件
文件指針是C語言中對文件進(jìn)行操作的方法,使用fopen()函數(shù)打開文件,使用fread()和fwrite()函數(shù)讀取和寫入文件內(nèi)容。
使用fopen()函數(shù)打開文件。
#include <cstdio>
FILE* file = fopen("input.txt", "r"); // 以只讀模式打開文件
使用fread()函數(shù)讀取文件內(nèi)容。
char buffer[256];
fread(buffer, 1, 256, file); // 從文件中讀取256個(gè)字節(jié)的數(shù)據(jù)
使用fwrite()函數(shù)寫入文件內(nèi)容。
char buffer[256] = "Hello, world!";
fwrite(buffer, 1, strlen(buffer), file); // 向文件中寫入字符串
使用fclose()函數(shù)關(guān)閉文件。
fclose(file); // 關(guān)閉文件指針
以上是使用文件流和文件指針進(jìn)行文件操作的基本方法,根據(jù)具體需求選擇合適的方法進(jìn)行文件操作。