字符串查找第一个非的 C++ 问题

c++ trouble with string find first non of

本文关键字:C++ 问题 查找 第一个 字符串      更新时间:2023-10-16

嗨,我想将字符从一个点打印到另一个点例如

string str = "what is o and o this "; //I want to print all the 
                        //characters [ O and O ]
string temp1;
int loc1, loc2;
loc1 = str.find_first_not_of('o');
loc2 = str.find_last_not_of('o');
temp1 = str.substr(loc1, loc2);
cout << temp1 << endl; //this prints out entire string

谁能帮我??谢谢所有的帮助!!

你应该使用find_first_of/find_last_of函数和第二个参数substr期望长度,而不是位置:

string str = "what is o and o this "; //I want to print all the 
                        //characters [ O and O ]
string temp1;
int loc1, loc2;
loc1 = str.find_first_of('o');
if( loc1 == string::npos ) return; // symbol not found
loc2 = str.find_last_of('o');
temp1 = str.substr( loc1, loc2 - loc1 + 1 );
cout << temp1 << endl; //this prints out entire string