разделение слов для полного имени только в одной переменной - PullRequest
0 голосов
/ 04 марта 2019

Я хочу отделить полное имя друг от друга.Это работает только для имени.

#include <iostream>
#include <string>
#include <cstring>
using namespace std;

int main()
{
     string FullName;
     int i = 0;
     cout <<"Enter your full name "<<endl;
     getline(cin,FullName);

     while (FullName[i] != ' ')
     {
         cout<<FullName.substr(i,FullName.find(' '))<<endl;;
         i++;
     }

     cout <<endl;
     }
return 0
}

Я хочу разделить каждое имя в отдельной строке, например, так: Если я введу это:

     Max Michael Max 

, вывод должен быть с каждым именем в отдельной новой строке:

     Max
     Michael
     Max

Как можно разделить имена друг на друга в отдельной строке?

1 Ответ

0 голосов
/ 04 марта 2019

Самый простой подход - использовать std::istringstream после прочтения имени.

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

using namespace std;

int main()
{
     string FullName;
     cout <<"Enter your full name "<<endl;
     getline(cin, FullName);
     string namepart;
     istringstream strm(FullName);
     while ( strm >> namepart )
        cout << namepart << '\n';
}

Live Example

...