如何使用空格将信息放入字符串? (来自数组)

时间:2014-11-26 03:23:47

标签: c++ arrays string

困惑..我的老师让我把这些信息放到一个数组的字符串中......这是她给我的确切方向:

“使用空格的位置,使用它和相应的字符串函数来存储fname中的第一个名称和lname中的最后一个名称(两个字符串变量)。”

isspace函数为我找到了空格,我把它放在变量'y'中,你将在下面的代码中看到。但我不知道如何使用空格将数组中输入的字符放入两个单独的字符串变量中!

...非常感谢任何帮助!

这是我的代码:

// Zachary Law Strings.cpp

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


int main()
{   int x, i,y;
char name[] = "Please enter your name: ";
char answer1 [80];
i=0;
y=0;

cout << name;
cin.getline(answer1, 79);
cout << endl;

x=strlen(answer1);

 for (int i = 0; i < x; i++){
    cout << answer1[i] << endl;
    if (isspace(answer1[i])) 
    {y=y+1;}}

 cout << endl << endl;
 cout << setw(80) << answer1;

 cout << y;




return 0;}

1 个答案:

答案 0 :(得分:0)

你可以看到这段代码......我已经编辑了你的代码......希望,你会得到这个......:)

&#13;
&#13;
#include <iostream>
using namespace std;
#include <string>
#include <string.h>
#include <iomanip>


int main()
{
    int x, i,y,fg=0,z;
    char name[100];
    string answer;
    i=0;
    y=0;

    cout<<"Enter Your First & Last Name:";
    cout << endl;
    cin.getline(name,100);

    x=strlen(name);

    for (int i = 0; i < x; i++){
        if (!fg&&isspace(name[i]))
        {
            y=i;
            fg=1;
        }
        else if(fg==1&&!isspace(name[i]))
        {
            z=i;
            fg=2;
        }
        answer+=name[i];
    }

    string fname=answer.substr(0,y);
    cout<<fname<<endl;
    string lname=answer.substr(z,x-z);
    cout<<lname<<endl;
    return 0;
}
&#13;
&#13;
&#13;