为什么我不能在以下代码中提供空间作为输入?
Why can't i give space as input in following code?
请参阅下面的代码。如果我为变量名称提供"空格"输入,则文件中不会存储另一个整数变量。为什么?我也发布了输出。
#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()。
相关文章:
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 2D数组来自文本输入,中间有空格
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 检查输入是否不是整数或数字
- 命名空间中具有.h和.cpp文件的类
- 正在尝试了解输入验证循环
- 读取文件并输入到矢量中
- 动态空间分离C++程序中的输入
- 是否有一种方法可以避免标头文件中使用的constexpr函数输入全局范围,而无需额外的名称空间
- 在由空间隔开的线中输入三个整数
- 如何将具有空间的用户输入并将其返回到字符串中
- 如何通过空间分开输入并将其存储在C 中的向量中
- 优化的c++代码,时间复杂度为O(n2),空间复杂度为0(1),用于后续输入
- 为什么我不能在以下代码中提供空间作为输入?
- 我的输入文件中没有读取C++空间
- 将空间金字塔匹配(SPM)用于SIFT,然后在c++中输入到SVM中
- 将用户输入的空间存储在字符数组中
- 如何检查cin中的空间分隔输入是否为严格双输入
- 读取与文件分隔的输入空间