我无法理解(std::cin>;)是否循环 我对编程一般都是全新的,目前是自学C++。这是我第一天学习,目前我正在理解循环
这是我试图使用和理解的代码我无法理解(std::cin>;)是否循环 我对编程一般都是全新的,目前是自学C++。这是我第一天学习,目前我正在理解循环,c++,C++,这是我试图使用和理解的代码 int start = 0, end = 0; while(true){ std::cout<<"Input a starting number: "; if(std::cin>>start){ //PLACEHOLDER TEXT }else{ std::cout<<"You have entered
int start = 0, end = 0;
while(true){
std::cout<<"Input a starting number: ";
if(std::cin>>start){
//PLACEHOLDER TEXT
}else{
std::cout<<"You have entered an incorrect starting number. Please enter again.";
std::cout<<std::endl;
start = 0;
}
}
intstart=0,end=0;
while(true){
std::coutstart){
//占位符文本
}否则{
std::coutstd::cin
在尝试将字母读取到int后处于失败状态,并且输入流中保留了一个字母。您应该清除std::cin状态,并在if或else之前忽略以前的输入:
std::cin.clear();
std::cin.ignore();
通常,在输入请求之前,你应该总是忽略输入:STD:CIN。它保护了不耐烦用户输入的随机字符的读取。谢谢你解释为什么和如何修复它。我的背景不是计算机科学,但是我希望我能成为C++的好一个。大邑不确定这是好的建议。它引入RA。当标准输入被重定向时,例如从文件重定向时,ces和其他问题。不幸的是,C++的库不足以正确处理此问题。您必须使用特定于平台的方法来检测输入是否来自交互式tty,并且只进行忽略,然后。。。