小编Bot*_*666的帖子

do ... while()重复最后一个字符串两次

以下代码将提供的字符串/行拆分为字符.为什么循环重复最后一次字符串两次?怎么解决?

#include <iostream>
#include <vector>
#include <sstream>
#include <string>

using namespace std;

int main()
{
    string main, sub;
    cout << "Enter string: ";
    getline(cin, main);
    istringstream iss(main);
    do
    {
        iss >> sub;
        cout << sub << endl;
        vector<char> v(sub.begin(), sub.end());
        for(int i = 0; i < v.size(); i++)
         {
             cout << v[i] << endl;
         }
    } while (iss);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输入:

你好,世界

期望的输出

你好
^ h
è


Ø
世界
w ^
ō
[R

d

实际产量:

你好 …

c++ do-while istringstream

5
推荐指数
1
解决办法
298
查看次数

标签 统计

c++ ×1

do-while ×1

istringstream ×1