C++正确的cin输入

void test1(void)
{
	int number;
	cout << ">> pls input a integer number:";
	while(cin >> number, !cin.eof())
	{
		if(cin.bad()) {
			cout << "stream has corrupted!" << endl;
			return;
		} else if (cin.fail()) {
			cin.clear();
			cin.ignore(std::numeric_limits<std::streamsize>::max(), ‘\n‘);
			cout << ">> pls input a integer number:";
			continue;
		}
		cout << "number = " << number << endl;
	}
}

  

原文地址:https://www.cnblogs.com/cthon/p/9315269.html

时间: 2024-11-01 11:23:45

C++正确的cin输入的相关文章

随机生成4位验证码,由用户输入并验证是否输入正确,如果输入错误就生成新的验证码让用户重新输入,最多输入5次

1 //四位随机验证码 2 Random ran=new Random(); 3 String str1 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXUZ"; 4 char [] a=new char[4]; 5 for(int i=0;i<4;i++) 6 { 7 a[i]=str1.charAt(ran.nextInt(62)); 8 } 9 10 StringBuilder rzm1= new

2017.4.20实验一:通过cin输入三个整数、一个实数,按不同的输出形式输出他们的值,并设置相应的场宽。

#include<iostream>#include<iomanip>using namespace std;void invert2(int x){ int num,flag; flag=x%2; num=x/2; if(num>0) { invert2(num); } cout<<flag;}void invert8(int x){ int num,flag; flag=x%8; num=x/8; if(num>0) { invert8(num); }

一个C++程序中有多个cin输入的情况

在很多C++程序中,我们都会有几次输入的操作.这种情况下,会遇到只有第一个cin语句被执行了,而后面的cin都没有执行.这是因为cin所输入的数据都放在cin缓冲区中,当第一次使用cin后,缓冲区中已经保存了数据,所有要是想后面再次使用cin,必须先清空缓冲区中的数据,可以使用下面两句话来清空: cin.clear(); cin.sync(); 在每一个cin语句后面都及时使用这两句来清空缓冲区,则可以保证我们可以及时使用cin来进行输入数据.

如何正确清空cin缓存

关于cin缓存的清空,网上有各种说法.最多的是使用 cin.sync(); 但是,关于这个sync方法在不同的编译器中有不同的实现.VC中确实可以清空cin的缓存,但是在GNU中,不行.因此使用sync方法是没有通用性的. 又有说法是使用 cin.seekg(0, ios_base::end); 但是依旧无法正常工作.以下是一个测试代码: #include <iostream> using namespace std; int main() { int a, b; cin >> a

cin输入过慢用scanf???现在才知道cin可以加速

今天才发现可以加速原帖 只需要两行放在main开头即可 ios_base::sync_with_stdio(0); cin.tie(NULL); 原文地址:https://www.cnblogs.com/baccano-acmer/p/9743821.html

C++ 输入cin 和输出cout

C++输入cout与输出cin 输入和输出并不是C++语言中的正式组成成分.C和C++本身都没有为输入和输出提供专门的语句结构.输入输出不是由C++本身定义的,而是在编译系统提供的I/O库中定义的. C++的输出和输入是用“流”(stream)的方式实现的.图3.2和图3.3表示C++通过流进行输入输出的过程. 有关流对象cin.cout和流运算符的定义等信息是存放在C++的输入输出流库中的,因此如果在程序中使用cin.cout和流运算符,就必须使用预处理命令把头文件stream包含到本文件中:

c++ --&gt; cin和cout输入输出格式

cin和cout输入输出格式 输入 1>. cin 输入结束条件 :遇到Enter.Space.Tab键. int a;cin >> a; 带符号输入,比如输入(a,b,c) int a, b,; cin >> a; cin.ignore( 1, ',' ); cin >> b; 2>. cin.get(数组名,长度,结束符) 其中结束符为可选参数,读入的字符个数最多为(长度-1)个,结束符规定结束字符串读取的字符,默认为ENTER,ch=cin.get()

C++之输入(cin)详解

1.cin: 输入操作的原理,程序的输入都建有一个缓冲区,即输入缓冲区.一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据.正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入,这就是例子中为什么会出现输入语句失效的原因! cin输入结束的条件:Enter.Space.Tab.cin对这些结束符的处理:丢弃缓冲区中这些字符.与cin.get()不同. 案例1: #in

案例17-validate自定义校验规则校验验证码是否输入正确

1 自定义校验规则代码 <script type="text/javascript"> //使用validate插件进行表单的校验 $(function(){ $("#myform").validate({ rules:{ checkCode:{ "required":true, "checkVerificationCode":true } }, messages:{ checkCode:{ "requi