重複の可能性:
C++で複数の区切り文字を使用して文字列を単語に分割する
私は現在、各行に、バイナリツリーに挿入する必要のある主要な属性を区切るさまざまなタブとスペースがあるファイルを読み取ろうとしています。
私の質問は、STLのみを使用して複数の区切り文字を使用してラインアップを分割するにはどうすればよいですか?私は一日の大部分を無駄にするためにこれに頭を包み込もうとしてきました。
アドバイスをいただければ幸いです。
重複の可能性:
C++で複数の区切り文字を使用して文字列を単語に分割する
私は現在、各行に、バイナリツリーに挿入する必要のある主要な属性を区切るさまざまなタブとスペースがあるファイルを読み取ろうとしています。
私の質問は、STLのみを使用して複数の区切り文字を使用してラインアップを分割するにはどうすればよいですか?私は一日の大部分を無駄にするためにこれに頭を包み込もうとしてきました。
アドバイスをいただければ幸いです。
使用するstd::string::find_first_of
vector<string> bits;
size_t pos = 0;
size_t newpos;
while(pos != string::npos) {
newpos = str.find_first_of(" \t", pos);
bits.push_back(str.substr(pos, newpos-pos));
if(pos != string::npos)
pos++;
}
string::find_first_of()
[1]の使用:
int main ()
{
string str("Replace the vowels in this sentence by asterisks.");
size_t found;
found = str.find_first_of("aeiou");
while (found != string::npos) {
str[found]='*';
found=str.find_first_of("aeiou", found + 1);
}
cout << str << endl;
return 0;
}