如何解析C++中IO流的输入输出流
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,本篇文章为大家展示了如何解析C++中IO流的输入输出流,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。介绍流: 若干字节数据从一端到另一端我们叫做流例如:操作文
千家信息网最后更新 2024年09月22日如何解析C++中IO流的输入输出流
本篇文章为大家展示了如何解析C++中IO流的输入输出流,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
介绍
流: 若干字节数据从一端到另一端我们叫做流
例如:操作文件,从程序到文件,数据的流动的操作称为流操作
流类体系
专门处理输入输出流、字符流、文件流,包含有:
流对象
流运算符 >> <<
输入/出流对象 + 流运算符 >> <<---处理输入输出的数据
字符流对象 + 流运算符 >> << ---处理字符流
文件的对象 + 流运算符 >> << ---读写文件
基本输入、输出流
istream 类---cin 输入
ostream类---cout 输出
tip:输出流除了cout外,还有一些别的对象(效果和cout一样)
cerr ---标准出错
clog ---日志文件输出
#includeusing namespace std;void testostream() //output { //freopen() cout << "标准输出" << endl; //cin/cout都可以重定向 cerr << "标准错误输出" << endl; //不能重定向 当觉得程序可能出错时用cerr输出,标识作用 clog << "日志文件输出" << endl; //可以重定向为文件}int main(){ testostream();}/*输出*/ /*标准输出 标准错误输出 日志文件输出*/
freopen
把程序的输入、输出重定向为文件
重定向是文件中的数据的格式要与程序读取的格式一致
输入重定向
#include#include int main(){ freopen("1.txt","r",stdin);//参数:文件名 读写方式 流 int a,b; scanf("%d%d",&a,&b); //把基本输入定向为文件,程序所有的输入由文件完成 std::cout< 输出重定向
#include#include int main(){ freopen("1.txt","r",stdin);//参数:文件名 读写方式 流 int a,b; scanf("%d%d",&a,&b); //把基本输入定向为文件,程序所有的输入由文件完成 std::cout< 字符类的处理
正常的操作
通过IO流对象调用成员函数的方式
单个字符和字符串的输出处理
//调用成员函数的方式传常量、变量都可以void testostream() {//单个字符的输出 cout.put('a'); //传常量 通过IO流对象调用成员函数的方式 cout << 'a' << endl; //正常的输出方式 char c = 'C'; cout.put(c); //传变量 cout << c << endl;//多个字符/字符串的输出 cout.write("ILoveyou",4); /*直接写入输出 后面的参数:指定长度,超过长度的部分不做输 出截取输出没有'\0',只截取了前面4位*/}int main(){ testostream();}/*输出*/ /*aa CC ILov*/单个字符和字符串的输入处理
void testostream(){//单个字符的输入 /* char c; c=cin.get(); cout.put(c); 用中间变量接收返回值,再做输出*/ cout.put(cin.get()); //要处理回车 cout << endl; //多个字符/字符串的输入 cout << "字符串的处理"<注意不能用来处理string
string text; cin.getline(text,20); //报错,不能处理string,只能处理char*格式控制字符
包含头文件
常用的格式控制,一种是调用成员函数方式,一种流控制字符去做
设置有效位数: setprecision(n)
设置精度: fixed 结合 setprecision 使用
tip:流控制字符---c++用来控制格式的操作
设置格式
int main(){ double pi = 34.12343; cout << "设置有效位数是:" << setprecision(4) << pi << endl; //从整数位开始算 cout << "有效小数位:" << fixed << setprecision(4) << pi << endl;//从小数位开始算 //所有的流控制符都会对应一个成员函数的方式 cout.precision(4); cout << "有效小数位:" << pi;/*设置完流格式不一定要立即输出, 可以缓慢输出(在下一行输出)*/ double pi = 34.12369; cout << "设置有效位数是:" << setprecision(4) << pi << endl; cout << "有效小数位:" << fixed << setprecision(4) << pi << endl; cout.precision(4); //所有的流控制符都会对应一个成员函数的方式 cout << "有效小数位:" << pi;}/*输出 四舍五入 */ /* 设置有效位数是:34.12 有效小数位:34.1234 有效小数位:34.1234 设置有效位数是:34.12 有效小数位:34.1237 有效小数位:34.1237 */进制输出
int main(){ cout << hex << 32 << endl; //16进制 cout << oct << 15 << endl; //8进制输出//流控制字符的方式 cout << setbase(2) << 7 << endl; //2进制无效,不能是任意进制,任意进制的默认10进制输出 }/*输出*/ /*20 17 7*/对齐方式和数据的宽度问题 制表符 '\t'
限制每个数据的位数不足补空格
1. 8位制表,不足8位 补空格
2. 超过8位,按照16位制表
//默认右对齐int main(){ cout << setw(8) << "123" << setw(8) << "12344" << setw(8) << "3444" << endl; cout << setiosflags(ios::left);//ios::right右对齐 ios::left左对齐 数据不够用空格占位 cout << setw(8) << "123" << setw(8) << "12344" << setw(8) << "3444" << endl; /*cout.width(8); cout<<"123"<<"123"<<"666"; 调用成员函数的方式,只能管一个制表 }/*输出*/ 123 12344 3444 //默认是右对齐方式123 12344 3444 123 123666上述内容就是如何解析C++中IO流的输入输出流,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
输出
字符
文件
输入
有效
方式
处理
函数
小数
小数位
控制
字符串
对象
成员
数据
格式
进制
位数
程序
标准
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
吉林通信软件开发服务应用
亚马逊交易安全服务器
教师网络安全平台
nist 数据库
PPP软件开发
三级网络技术ACK和ack
部队网络安全怎么防
网络安全法的两个支柱是指什么
计算机网络技术专业的就业取向
政府公用网络安全吗
软件开发工程师学徒简历
网络安全日西安
湖南智投网络技术
如何在中国知网搜索数据库
如何建立贷款数据库系统
哈工大软件开发课程设计
武科大网络技术试卷
监控服务器连接
医院网络安全自查情况表
数据库获取当行的第一个td
宝塔上传的数据库文件在哪
数据库数据存储路径修改
接口怎么访问数据库
深圳多串口服务器有哪些
自建服务器入门
厦门科享网络技术有限公司
酷点网络技术有限公司
银川微信软件开发
数据库支持公式吗
蛟河软件开发专业