这是我目前的代码,我必须在新行上打印我名字的每个世界
include "stdafx.h"
#include "iostream"
#include "string"
using namespace std;
int main ()
{
string a;
char j[100];
int i, c, b;
cout <<"enter your full name ";
getline(cin,a);
cout << " ur name is " << a << endl;
c=a.size();
for (b=0; b<=c; b++)
{
j[b]=a[b];
j[b]='\0';
}
system ("pause");
return 0;
}
如何在新线上打印我姓名的每一部分?例如:输入:geroge ashley mark。输出:乔治(换行)阿什利(换行)标记
答案 0 :(得分:0)
这是一个有点复杂的方法,我更喜欢评论中显示的方法。但是,如果你想避免使用stringstreams,这是另一种实现你正在寻找的方法。它还将支持以逗号分隔的名称。
#include "stdafx.h"
#include "iostream"
#include "string"
using namespace std;
int main()
{
string a;
char j[100];
int i, c, b;
cout << "enter your full name ";
getline(cin, a);
cout << " ur name is " << a << endl;
c = a.size();
bool space = false;
for (auto iter = a.begin(); iter != a.end(); iter++)
{
if (isalpha(*iter) == false)
{
if (space == false)
{
cout << std::endl;
space = true;
}
}
else
{
cout << (*iter);
space = false;
}
}
system("pause");
return 0;
}