21xrx.com
2025-07-12 16:06:45 Saturday
登录
文章检索 我的文章 写文章
C++中如何打开文件并显示行号?
2023-07-09 04:40:47 深夜i     30     0
C++ 打开文件 显示行号

在C++中,我们可以使用fstream库中的ifstream对象来打开并读取文件内容。在打开文件时,我们可以指定打开模式(例如,读取模式、写入模式、追加模式等)。而要显示行号,我们可以使用一个计数器变量来记录读取到的行数,并输出。

以下是一个简单的示例代码:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
  string file_name;    // 文件名
  ifstream file_input;  // 文件输入对象
  int line_number = 1;  // 行号计数器
  cout << "请输入文件名:";
  cin >> file_name;
  // 打开文件
  file_input.open(file_name, ios::in);
  // 判断文件是否成功打开
  if (!file_input.is_open())
    cout << "文件不存在!" << endl;
    return 0;
  
  // 逐行读取文件内容
  string line;
  while (getline(file_input, line)) {
    // 输出行号和内容
    cout << "第" << line_number << "行:" << line << endl;
    line_number++;
  }
  // 关闭文件
  file_input.close();
  return 0;
}

在上述代码中,首先通过cin从用户处获取文件名,并使用ifstream对象打开文件。如果文件打开失败,程序将输出错误信息并退出。接着,我们使用while循环逐行读取文件内容,并在输出时增加行号计数器。最后,我们关闭文件并结束程序。

需要注意的是,在使用getline函数读取文件内容时,我们需要注意文件中换行符号的问题。而正是因为这种差异,通常情况下我们都建议使用getline函数来读取文件内容。

  
  

评论区