在cin>>后使用getline无法读取到数据

来源:互联网 发布:实验室数据评价 编辑:程序博客网 时间:2024/06/12 18:06

C++ cin>> cin.get() cin.getline()区别

    cin>>P; //输入P[ENTER]    vector<string> pstring;    for(int i=0; i<P; i++){        getline(cin,tem);  //读取不到数据,原因在于前面的cin>>会忽略开始输入的换行符,然后继续读入,直到出现结束符停止读入,并将结束符留在缓冲流中直到下次cin>>读入时忽略掉。        pstring.push_back(tem);    }
    cin>>P;    cin.ignore();  //忽略换行符后可以读取数据    vector<string> pstring;    for(int i=0; i<P; i++){        getline(cin,tem);        pstring.push_back(tem);    }
原创粉丝点击