C++中输入输出流



C++中的输入输出流

一.标准输入流cin
标准输入流中常用到的函数
cin.get();//无参时返回值为获取的字符类似于getchar();
cin.get(char ch);//一个参数时,将获取的字符放入ch中;
cin.get(char *buf,100);//获取字符串放入buf中,不超过100个;
cin.ignore(int a);//忽略前a个字符
cin.peek();//从缓冲区里面读取一个字符但缓冲区里面的字符并未消失,而cin.get()系列的函数获取了字符后缓冲区就会失去这个字符,只支持ch=cin.peek();
cin.putback();//将失去的字符又放了回去,
cin.get(ch);和cin.get()配合使用,获取了一个字符后缓冲区里也不会失去这个字符
cin.putback(ch);
二.标准输出流
标准格式输出:需要包含头文件<iomanip>
如果不改的话下面默认使用最后一个进制设定
cout<<"八进制"<<oct<<123<<endl;
cout<<"十六进制"<<hex<<123<<endl;
cout<<"十进制"<<dec<<123<<endl;
对于小数来说也是这样
cout<<setiosflags(ios::scientific)<<pi<<endl;//使用科学计数法
cout<<setiosflags(ios::fixed)<<pi<<endl;//使用小数
cout<<setiosflags(3)<<pi<<endl;//输出保留连小数点在内3位的小数
cout<<setw(15)<<endl;//输出总长度为15,不够的用空格填充
cout<<setw(15)<<setfill('*');//输出总长度为15,不够的用*来填充
对于int类型的输出来说,需要先用cout.unsetf()停止原来的输出方式,再用cout.setf()设定新的输出方式
cout.unsetf(ios::dec);//停止十进制输出
cout.setf(ios::hex);//开始十六进制输出
而对于小数来说,可以直接使用cout.setf();
cout.setf(ios::scientific);//指数形式输出
cout.setf(ios::fixed);//普通的小数形式输出
cout.precision(3);//设定小数点后位数,连小数点也算在内
cout.width(15);//设置一行输出15个字符,不够的用空格填充
cout.fill('^');//用^填充,这两个函数只对下面输出的第一个cout有效
setf(|)可以包含多种格式,用|号隔开

猜你喜欢

转载自blog.csdn.net/zzw_17805056819/article/details/80167465