21xrx.com
2025-04-01 23:10:28 Tuesday
文章检索 我的文章 写文章
C++如何按行读取文件
2023-06-24 05:32:41 深夜i     14     0
C++ 按行读取 文件

在C++编程中,读取文件是一个非常常见的操作,而按行读取文件对于处理文本文件来说更为常见。C++提供了多种读取文件的方式,但是如何按行读取文件呢?下面介绍几种方法。

第一种方法是通过getline函数逐行读取文件。这种方法是最常见的方法之一,使用起来也比较简单,只需要一行代码就可以轻松实现。代码如下:

#include <iostream>
#include <fstream>
using namespace std;
int main()
{
  ifstream infile("test.txt");   // 打开文件
  string line;
  while (getline(infile, line))  // 逐行读取
  
    cout << line << endl;    // 输出每行内容
  
  infile.close();         // 关闭文件
  return 0;
}

第二种方法是通过fgets函数逐行读取文件。这种方法可以使用C语言的标准库来实现,相比getline函数来说,它更加灵活,可以指定每行读取的最大字符数。代码如下:

#include <iostream>
#include <fstream>
using namespace std;
int main()
{
  FILE *file = fopen("test.txt", "r");  // 打开文件
  char buffer[256];
  while (fgets(buffer, 256, file))    // 逐行读取
  {
    printf("%s", buffer);       // 输出每行内容
  }
  fclose(file);             // 关闭文件
  return 0;
}

第三种方法是通过stringstream类来实现按行读取文件。这种方法可以将每行读取的内容转换成字符串,方便后续操作。代码如下:

#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
int main()
{
  ifstream infile("test.txt");   // 打开文件
  string line;
  while (getline(infile, line))  // 逐行读取
  {
    stringstream ss(line);
    string word;
    while (ss >> word)      // 逐个读取单词
    
      cout << word << endl;  // 输出每个单词
    
  }
  infile.close();         // 关闭文件
  return 0;
}

总之,按行读取文件是C++编程中非常常见的操作之一,选择合适的方法可以提高代码效率和可读性。以上三种方法每一种都有其适用的场景,需要结合实际需求进行选择和优化。

  
  

评论区