C++,按行比较字符串
C++, comparing string in lines
我需要检查我的变量是否存在于文本文件中每一行的特定位置,以及它是否与行中的相同。
我的文本示例中的行:
one two variable 11 221
123 t12 variable 11 331
123 t12 bad_var 11 331
我想检查 variable
是否存在于 9 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
?
谢谢
最简单的方法可能是将整行读入一个字符串,然后使用 substr()
.
在字符串中的正确位置检查 variable
std::getline(my_text_file, str);
std::string var = "variable";
if (str.substr(9, var.size()) == var) {
// do stuff
}
我需要检查我的变量是否存在于文本文件中每一行的特定位置,以及它是否与行中的相同。
我的文本示例中的行:
one two variable 11 221
123 t12 variable 11 331
123 t12 bad_var 11 331
我想检查 variable
是否存在于 9 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
?
谢谢
最简单的方法可能是将整行读入一个字符串,然后使用 substr()
.
variable
std::getline(my_text_file, str);
std::string var = "variable";
if (str.substr(9, var.size()) == var) {
// do stuff
}