我有一些代码: 我希望接收一个ID,确保它的长度为8个字符,确保每个数字都是一个数字,并继续询问,直到它们给出正确的输入。在此之前有人标记,我研究并试图查看给出的答案:c 根据我的代码,我不知道为什么我输入的00000002的ID是无效的ID。它不起作用。有人可以帮忙吗?
void Student::getData(){
string id_;
cout << "lastName?" << endl;
cin >> lastName;
cout << "firstName?" << endl;
cin >> firstName;
cout << "ID?" << endl;
while(getline(cin,id_) && id_.size() != 8){
cout << "Invalid ID" << endl;
}
答案 0 :(得分:2)
while(getline(cin,id_) && id_.size() != 8){
此处getline()
只是从上一行输入中获取新行。在此之前添加一行以忽略该行的其余部分。
cin.ingore(std::numeric_limits<std::streamsize>::max(), '\n');
while(getline(cin,id_) && id_.size() != 8){