我必须从外部文本文件中读取行,并且需要某些行的1.字符。
是否有一个函数可以告诉我指针在哪一行和另一个函数,它可以将指针设置为第x行的开头?
我必须在当前位置之前和之后跳到线。
答案 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;
}