为什么我不能在以下代码中提供空间作为输入?

Why can't i give space as input in following code?

本文关键字:空间 输入 不能 代码 为什么      更新时间:2023-10-16

请参阅下面的代码。如果我为变量名称提供"空格"输入,则文件中不会存储另一个整数变量。为什么?我也发布了输出。

    #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

我需要做什么才能将全名"Ankith Prabhas"作为一个输入和另一个整数?

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