如何在getline字符串中获取某个单词?

时间:2016-10-23 19:19:56

标签: c++

如何才能在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)?

1 个答案:

答案 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);