C++ C++;File.ignore()函数
如果我用空格(如Peter Walk)键入名称,则无法工作。在这种情况下如何使用cin.ignore() 先谢谢你C++ C++;File.ignore()函数,c++,file,C++,File,如果我用空格(如Peter Walk)键入名称,则无法工作。在这种情况下如何使用cin.ignore() 先谢谢你 int main() { ofstream File("player.txt"); cout << "Enter player ID, Name, and Money:" << endl; cout << "Press Ctrl + Z to quit \n" << endl; int id;
int main()
{
ofstream File("player.txt");
cout << "Enter player ID, Name, and Money:" << endl;
cout << "Press Ctrl + Z to quit \n" << endl;
int id;
string name;
int age;
while(cin >> id >> name >> age)
{
File << id << " " << name << " " << age << endl;
}
return 0;
}
intmain()
{
流文件(“player.txt”);
姓名>>年龄)
{
如果文件遇到制表符或空格键,cin将不接受更多字符。
改用getline
字符名[64]={0};
cin.getline(name,64);为什么你要发布一张图片而不是在这里粘贴代码?你是想让它读Peter walk
到name
,还是只是读Peter
,忽略错误,然后继续…?为什么要特别使用cin.ignore()?cin.ignore的目的是忽略一定数量的字符,或者直到在流中找到与分隔符匹配的字符。我认为这不是解决此问题的正确方法。相反,您可以使用getline函数并解析字符串,或者您可以单独读取名称和姓氏。如果不使用cin.ignore()。当我们用空格分隔名称时,它将忽略空格后面的空格。是的,Getline是正确的解决方案,但在这种情况下我们如何使用。?