c++ - 在 C++ 中获取文本文件的第 n 行

标签 c++ algorithm file text ifstream

我需要读取文本文件的第 n 行(例如 textfile.findline(0) 会找到加载了 ifstream textfile 的文本文件的第一行) .这可能吗? 我不需要将文件的内容放在一个数组/vector 中,我只需要将文本文件的特定行分配给一个变量(特别是一个 int)。

附言我正在寻找不需要我使用任何大型外部库(例如 Boost)的最简单的解决方案 提前致谢。

最佳答案

这个怎么样?

std::string ReadNthLine(const std::string& filename, int N)
{
   std::ifstream in(filename.c_str());

   std::string s;
   //for performance
   s.reserve(some_reasonable_max_line_length);    

   //skip N lines
   for(int i = 0; i < N; ++i)
       std::getline(in, s);

   std::getline(in,s);
   return s; 
}

关于c++ - 在 C++ 中获取文本文件的第 n 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7273326/

相关文章:

c++ - 是否可以在 C++ 类中声明一个虚拟静态常量值?

c++ - 模块 [] 未安装——为 QML 注册自定义 C++ 包装器

C++迭代器到集合的最后一个元素

algorithm - 数组中连续元素的最大乘积

c++ - 从内存缓冲区创建一个 fstream 对象

linux - 在 Linux 上创建文件时发生了什么

c++ - 在 C++ 中查找 vector 的最小元素

javascript - 在贪吃蛇游戏中,如何移动具有不同棋子的蛇?

algorithm - "... algorithm follows at most lg N pointers to determine..."lg代表什么?

c - 您好,我正在使用 JDoodle 练习 C 编程,我创建了一个指向 .text 文件的 fpointer,如何打开这个 .text 文件并查看数据?