21xrx.com
2024-12-22 21:13:38 Sunday
登录
文章检索 我的文章 写文章
C++文件操作:读写文件、追加、批量读写等功能详解
2023-07-05 11:27:35 深夜i     --     --
C++ 文件操作 读写 追加 批量读写

C++是一种常用的编程语言,它提供了丰富的文件操作函数,包括读写文件、追加、批量读写等功能。本文将详细介绍这些功能以及实现方式。

读取文件

读取文件是最常见的文件操作之一。C++提供了fstream库,可以很方便地打开并读取文件内容。在打开文件流之前,需要包含 头文件,然后使用ifstream类来声明一个输入文件流对象。例如:

ifstream infile;

infile.open("file.txt");

这段代码将创建一个名为infile的输入文件流对象,并打开名为file.txt的文件。接下来可以使用extract操作符(>>)获取文件的内容,示例如下:

string line;

while (getline(infile, line))

cout << line << endl;

这段代码将一行一行地打印出文件内容。值得注意的是,当文件流到达文件末尾时,getline()函数将返回false,循环就会结束。

写入文件

除了读取文件,C++还提供了方便的文件写入函数。文件的写入操作与读取操作类似,需要创建一个ofstream对象并打开输出流。可以使用<<操作符将内容写入文件,示例如下:

ofstream outfile;

outfile.open("file.txt");

if (outfile.is_open()) {

outfile << "Hello World!" << endl;

outfile.close();

}

这段代码将在file.txt文件中写入Hello World!这一内容。值得注意的是,当使用<<操作符将数据写入文件时,C++会自动将数据以字符串的形式写入文件。如果需要在写入之前先格式化数据,可以使用printf()或sprintf()函数。

追加文件内容

有时候我们需要在现有的文件中追加内容,C++也提供了相应的函数来实现这个功能。使用输出流对象的open()函数时,指定文件打开模式为app即可实现文件内容的追加:

ofstream outfile;

outfile.open("file.txt", ios::app);

与普通的写入文件的方式相比,这种打开方式会将新的内容追加到现有的文件末尾,而不是覆盖已有的内容。

批量读写文件

对于大量的文件读写操作,使用一个一个地进行读写将会非常麻烦,因此C++提供了方便的批量读写函数。使用手动输入文件名和循环读取文件内容的方式可以实现批量读取文件内容,示例如下:

string filename;

while (cin >> filename) {

ifstream infile(filename.c_str());

if (infile.is_open()) {

string line;

while (getline(infile, line))

cout << line << endl;

infile.close();

}

else

cout << "Unable to open file!" << endl;

}

这段代码将循环读取用户输入的文件名,如果文件能够成功打开,则输出文件内容;否则输出Unable to open file!。同时,在批量写入文件时,也可以使用相同的方式逐个打开并写入文件,如下所示:

string filename;

while (cin >> filename) {

ofstream outfile(filename.c_str());

if (outfile.is_open()) {

outfile << "Hello World!" << endl;

outfile.close();

}

else

cout << "Unable to open file!" << endl;

}

本文介绍了C++的文件操作功能,包括读取文件、写入文件、追加文件内容以及批量读写文件等功能。通过了解这些功能,可以更加方便地进行文件操作,提高编程效率。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复