如何解析C++中IO流的输入输出流
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇文章为大家展示了如何解析C++中IO流的输入输出流,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。介绍流: 若干字节数据从一端到另一端我们叫做流例如:操作文
千家信息网最后更新 2025年01月19日如何解析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安全错误
数据库的锁怎样保障安全
数据库 自动 设计工具
长沙涟云网络技术公司
服务器开机自动重启
北京交友软件开发大概多少钱
网络安全中容灾范围分类
网络安全讲话稿初中生
广东电话软件开发专业服务
怎么样恢复计算机数据库
软件开发形势
neo3数据库
2020网络安全管理员
网络安全产品投标
杭州西湃网络技术有限公司
在软件开发中主要文档
产品物料组成清单管理数据库
1核2g服务器续费多少钱
计算机网络技术实操方面
实况手游数据库
下面()是FTP服务器地址
网络技术教育的发展趋势
网络安全检查官
武隆住宿软件开发
上海华为服务器虚拟化优势
丹东养老认证服务器返回错误
qq 聊天记录 服务器
聊天工具数据库
csgo怎么进服务器
微信测评软件开发费用
服务器安全防护哪种好一点
wow 好的服务器