C++ C++;File.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;

如果我用空格(如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;
    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是正确的解决方案,但在这种情况下我们如何使用。?