如何才能在getline方法的字符串中只获取某个单词?例如:
Test.txt的:
hi guys
im @@Paul \t\t [GET THIS]
string line;
string word;
ifstream file ("test.txt");
if (file.is_open()) {
while (getline(file, line)) {
if (line.find("@@Paul") != string::npos) {
strcpy(word, line.c_str());
}
}
}
我如何对其进行编码,以便在找到@@Paul
时,它只会在双标签([GET THIS]
)后面加上字符(\t\t
)?
答案 0 :(得分:0)
这是getline函数的定义:istream& getline(istream& is,string& str,char delim);
Delim是一个分隔符,可以阻止getline读取后到达给定字符的流。所以你可以这样做:
string trash;
string properline;
getline(file, trash, '\t');
getline(file, trash, '\t'); //second tab, still trash
getline(file, properline);