我想在一个新行打印我的数组的每个插槽

时间:2014-12-10 16:13:26

标签: c++ visual-studio-2010

这是我目前的代码,我必须在新行上打印我名字的每个世界

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。输出:乔治(换行)阿什利(换行)标记

1 个答案:

答案 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;
}