C ++,比较行中的字符串

时间:2018-03-30 08:04:53

标签: c++ text compare lines

我需要检查我的变量是否存在于文本文件中每一行的特定位置,以及它是否与行中相同。

我文本示例中的

行:

one two variable 11 221
123 t12 variable 11 331
123 t12 bad_var  11 331

我想检查一下variable9 to 16是否排成一行。 我的代码:

std::ifstream my_text_file("text_file.txt");
std::string str
if(my_text_file)
    {
     while(std::getline(my_text_file,str))
         {
          if(my_text_file.seekg(9,std::ios::beg))
             { //what should i wrote here?//   }
         }
    } 

编辑:

我的variable字符串看起来像abc3,如何只选择前3个字母来比较我的变量abc?    感谢

1 个答案:

答案 0 :(得分:0)

最简单的方法是将整行读入字符串,然后使用substr()在字符串中的正确位置检查variable

std::getline(my_text_file, str);
std::string var = "variable";
if (str.substr(9, var.size()) == var) {
    // do stuff
}