21xrx.com
2024-11-22 07:09:19 Friday
登录
文章检索 我的文章 写文章
C++文件操作:如何将文件内容读取并存入容器中
2023-07-06 08:30:52 深夜i     --     --
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容器中,可以帮助我们方便地对文件内容进行处理。上述代码可以轻松实现这个过程。

  
  

评论区

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