-2

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

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

谁能帮我??谢谢大家的帮助!!

4

1 回答 1

2

您应该使用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
于 2013-11-13T21:09:51.000 回答