为什么我不能在下面的代码中输入空格作为输入?

时间:2016-03-18 05:20:49

标签: c++

请参阅以下代码。如果我给一个"空间"输入变量名,另一个整数变量不存储在文件中。为什么? 我也发布了输出。

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

int main()
{
    int age;
    char name[100];

    ofstream obj,obj10;
    obj.open("lol.dat", ios::trunc);
    cout<<"Enter Name"<<endl;

    cin.getline(name,100);
    cin.ignore();
    obj<<name<<endl;
    cout<<"Enter age"<<endl;

    cin>>age;
    cin.ignore();
    obj10<<age<<endl;
    obj.close();
    //read

    ifstream obj2;
    obj2.open("lol.dat");
    obj2>>name;
    cout<<"Name:"<<name<<endl;
    obj2>>age;
    cout<<"Age:"<<age<<endl;
    obj2.close();
    return 0;
}

我的输出:

 Enter Name
Ankith

Enter age
1234
Name:Ankith
Age:1234

Enter Name
Ankith Prabhas

Enter age
12345
Name:Ankith
Age:0

我需要做些什么来取得完整的名字&#34; Ankith Prabhas&#34;作为一个输入和另一个整数?

1 个答案:

答案 0 :(得分:1)

尝试在期望空格的字符串中使用getline()。