寻求结束

时间:2010-06-30 08:26:35

标签: c++

我必须从外部文本文件中读取行,并且需要某些行的1.字符。

是否有一个函数可以告诉我指针在哪一行和另一个函数,它可以将指针设置为第x行的开头?

我必须在当前位置之前和之后跳到线。

2 个答案:

答案 0 :(得分:0)

我认为没有这样的功能。您可能必须自己使用getline()来实现此功能,或者一次扫描一个字符的结束字符(\n)并在此文件后面只存储一个字符。

你可能会发现一个向量(可能vector<size_t>)有助于存储行开始的偏移量,这样你就可以以基于行的方式跳转到文件中。但是没试过这个,所以它可能不起作用。

答案 1 :(得分:0)

您可以查看ifstream以在流中阅读您的文件,然后使用getline()获取std::string中的每一行。

这样做,您可以轻松地遍历这些线并抓住您需要的字符。

以下是一个示例(取自here):

// reading a text file
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main () {
  string line;
  ifstream myfile ("example.txt");
  if (myfile.is_open())
  {
    while (! myfile.eof() )
    {
      getline (myfile,line);
      cout << line << endl; // Here instead of displaying the string
      // you probably want to get the first character, aka. line[0]
    }
    myfile.close();
  }

  else cout << "Unable to open file"; 

  return 0;
}