请参阅以下代码。如果我给一个"空间"输入变量名,另一个整数变量不存储在文件中。为什么? 我也发布了输出。
#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;作为一个输入和另一个整数?
答案 0 :(得分:1)
尝试在期望空格的字符串中使用getline()。