0

文字列から一度に 2 つの文字を選択するには、for ループを実行する方法を教えてください。

int main{
string data;
for (i = 0; i <= data.size(); i+=2)
d = data[i] + data[i+1];
cout << "the list of two characters at a time is" << d;
}

//私は自分の文字列(データ)を選択して分割したいと思います。たとえば、「こんにちは、お元気ですか」を一度に2文字のリストに分割し(スペースも文字としてカウントする必要があります)、次のようにリストします。

cout should give:

he

ll 

o(space)

ho

w(space)

ar

e(space)

yo

u //the last one is appended with 8 zeros with u to make a complete pair

C++ で文字列データの i 番目の位置に到達する方法がわかりません。

4

3 に答える 3

3

を使ってみsubstr()ませんか?

for (int i=0; i<data.length(); i+=2) {
    if(i+2 < data.length()){              //prevent it from throwing out_of_range exception
        d = data.substr(i,i+2);
        cout << d << endl;
    }
}
于 2013-11-07T17:52:19.257 に答える