21xrx.com
2025-04-13 14:32:37 Sunday
文章检索 我的文章 写文章
C++文件操作:如何将文件内容读取并存入容器中
2023-07-06 08:30:52 深夜i     15     0
C++ 文件操作 读取 存储 容器

对于C++程序员来说,文件操作是经常涉及到的内容之一。而读取文件内容并将其保存到容器中则是其中的一个常见需求。以下是一些步骤和代码示例,可以帮助您实现这个过程。

步骤1:包含必要的头文件和命名空间

开头先包含必要的头文件和命名空间。这里我们将使用以下头文件:

#include <iostream>
#include <fstream>
#include <vector>
#include <string>

同时指定使用std命名空间:

using namespace std;

步骤2:打开文件并读取内容

要读取文件的内容,首先需要打开该文件。可以使用如下代码:

ifstream file("filename.txt");

这将创建一个名为“file”的ifstream对象,并打开名为“filename.txt”的文件以供读取。然后,我们需要使用一个while循环读取整个文件:

string line;
while (getline(file, line))
  //处理每一行的内容

在while循环中,我们首先定义一个名为“line”的字符串变量,用于临时存储文件中的每一行内容。使用getline函数读取每一行内容,直到到达文件末尾为止。

步骤3:将读取的内容存储到容器中

在while循环内部,我们可以将每一行读取的内容存储到一个vector 容器中,如下所示:

vector<string> lines;
while (getline(file, line))
{
  lines.push_back(line);
}

最终,我们将得到一个名为“lines”的vector容器,其中存储了文件中的所有行内容。

完整的代码如下:

#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
int main()
{
  ifstream file("filename.txt");
  if (!file.is_open())
 
   cerr << "Failed to open file." << endl;
   return 1;
 
  vector<string> lines;
  string line;
  while (getline(file, line))
  {
   lines.push_back(line);
  }
  file.close();
  cout << "File has " << lines.size() << " lines." << endl;
  for (auto l : lines)
 
   cout << l << endl;
 
  return 0;
}

值得注意的是,在程序结束前,我们需要使用file.close()函数显式关闭文件。

总结

读取文件内容并将其存储到一个vector容器中,可以帮助我们方便地对文件内容进行处理。上述代码可以轻松实现这个过程。

  
  

评论区