如何解析C++中IO流的输入输出流
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,本篇文章为大家展示了如何解析C++中IO流的输入输出流,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。介绍流: 若干字节数据从一端到另一端我们叫做流例如:操作文
千家信息网最后更新 2025年02月23日如何解析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安全错误
数据库的锁怎样保障安全
vw网络技术网站
软件开发类的保密协议模版
pyside2和数据库联动
企业软件开发流程
2018中国电信网络安全博览会
软件开发自评估工具
关于网络安全靠人民图画
人民日报数据库 爬
昨天网络技术有限公司
笔记本电脑远程不到服务器
网络安全系统怎么样
蚂蚁集团数据库工程师
未来网络技术的前景
网络技术处理员考试
加强涉疫系统网络安全保卫工作
服务器被黑客攻击恢复
正规网络技术品牌
游戏云服务器购买
丽江软件开发排名
支付宝怎样开记录运动数据库
pyside2和数据库联动
山西海客网络技术有限公司
北京爱网络技术有限公司
小米手机代理服务器电话
发票技术服务软件开发
如家开房记录数据库
黑龙江智慧景区软件开发
免流最牛服务器
游戏云服务器购买
KEIL下载软件开发