当前位置: 首页 > news >正文

按月网站建设制作公司网站的费用

按月网站建设,制作公司网站的费用,找人开发一款app需要多少钱,宁夏交通建设股份有限公司网站C IO流 引言 谈到IO流#xff0c;有些读者可能脑海中第一个想到的C程序员的最基础的std::cout #xff0c; std::cin两个类的使用#xff0c;对的#xff0c;这个就是一个典型的IO流#xff0c;所以逆天我们这篇文章会基于C IO流的原理和各种应用场景进行深入的解读。 C…C IO流 引言 谈到IO流有些读者可能脑海中第一个想到的C程序员的最基础的std::cout std::cin两个类的使用对的这个就是一个典型的IO流所以逆天我们这篇文章会基于C IO流的原理和各种应用场景进行深入的解读。 C语言的数据输出 C语言我们如果进行IO, 我们使用的的scanf和prinf 或者说我们实际上是通过FILE* 进行IO , 因为了解底层的朋友们应该也知道 scanf其实是针对stdinprintf针对stdout的封装。 C语言借助缓冲区实现用户层和设备之间进行IO。 缓冲区的作用 可以帮助我们屏蔽底层的差异因为各种操作系统组织数据的方式不同我们通过缓冲区抹平这种差异。 使用缓冲区可以实现行读取的操作因为操作系统没有行的概念我们可以在缓冲区指定语言级别的规则。 什么是流 “流”即是流动的意思是物质从一处向另一处流动的过程是对一种有序连续且具有方向性的数 据 其单位可以是bit,byte,packet 的抽象描述。 C流是指信息从外部输入设备如键盘向计算机内部如内存输入和从内存向外部输出设 备显示器输出的过程。这种输入输出的过程被形象的比喻为“流”。 包括TCP协议其实也是一种流式传输的模型当然这是后话。 C流的设计 标准IO流 C 标准提供了全局的流对象std::cin std::cout std::cerr std::clog当然如果理解C语言的读者当然发现这里就是映射到我们的stdin, stdout, stderr 如果熟悉操作系统的就会发现就是映射到对应的0, 1, 2 的文件描述符。 注意事项 标准流针对标准中内置类型都进行了重载int , double , 包括std::string。 输入类型的类型必须和提取的类型一致不然就会出错但是我们可以通过修改流的状态来继续进行。 流重载的状态判断 // type istream operator(istream,type) {} explicit operator bool() const {} // 支持重定义自定义类型 class Data { public:friend istream operator(istream in, Data d); private:int data_; };istream operator(istream in, Data d) {in d.data_;return in; }C的文件IO流 (fstream) C 根据文件分为文本文件和二进制文件采用文件流操作文件 ifstream : 读取文件ofstream : 写入文件fstream : 读写文件 那么C的文件流有什么优势吗 支持重载就是C文件流最大的优势从上面的图中我们可以看到fstream 继承了 iostream 所有我们可以通过重载iostream的 和 来进行重载自定义类型 class Data { public:friend istream operator(istream in, Data d); private:int data_; };istream operator(istream in, Data d) {in d.data_;return in; } int main() {std::ifstream ifs(filename, std::ios_base::in);Data d;ifs d;return 0; }stringstream 你以为这样就完了吗当然没有还以一种流字符流(stringstream)他的作用是什么呢我们不妨使用Linux操作系统下一切皆文件的思想来理解 标准输入输出流其实本质就是我们将显示器看成一个文件我们可以全局的std::cin, std::cout, 这就和C语言中我们可以通过fscanf(stdin, …) 来替代scanf其实就是标准输入输出语言层面的特殊强调。文件流当然就是操作文件字符流 我们将字符串也想象成一个文件我们通过操作字符串。 实例std::string buffer 1 2 3 4; std::stringstream ssm(buffer); int a1 , a2, a3 , a4; ssm a1 a2 a3 a4;同时我们还是可以重载iostream的和进行重载。 stringstream的优点: 更加灵活的操控字符串平时我们只能通过std::to_string来将转换字符串但是stringstream支持各种类型(重载后)。 我们可以发现C14后的很多类型都不能支持to_string, 比如std::chrono里面的各种类型但是他们支持iostream 也就是说我们可以通过stringstream构建字符串。 总结 通过这篇文章我们提出了C的一套IO体系作为一个C程序员我们也不能老是只会使用C风格的接口我们也需要学习C自己的一套体系并且C的IO设计也比C更加灵活让程序员能够更加灵活的操作IO。
http://www.zqtcl.cn/news/422351/

相关文章:

  • 怎么做网站访问量上海网站排名提升
  • 新乡企业网站建设胶州做网站公司
  • 网站后台权限分配说明什么网站是做家教的
  • 网站备案 空间备案 域名备案网站制作与管理技术标准实训教程
  • 东莞免费企业网站模板推广有没有专门做线下活动的网站
  • 驾校网站制作郑州手机网站建设多少钱
  • c2c网站建设策划书怎么看网站关键词密度
  • 网站在线支付方案网站建设 sam大叔排名三天上首页
  • 温岭新站seo网站免费进入窗口软件有哪些
  • 网站未备案什么意思网站 php .net
  • 网站开发第三方登录设计七牛图床 wordpress
  • 大连网站设计案例宁波品牌网站设计价格
  • 响应式表白网站源码黑龙江建设网电话
  • wordpress企业建站生产企业做网站的费用怎么做账
  • 天都城网站建设wordpress pluings
  • 惠州做网站的公司有哪些wordpress主动推送
  • jsp做的网站带数据库新手网站设计定价
  • 做网站公司需要什么条件不锈钢公司网站源码 网站建设 产品3级分类asp源码
  • 经营网站挣钱网络运维工程师证书怎么考
  • 厦门网站建设ui株洲企业网站制作
  • 创建个网站需要多少钱张家界seo优化方案
  • 深圳营销型网站建设公司哪家好熊岳网站怎么做
  • 邢台企业网站建设好么找公司做网站要注意什么问题
  • 做博客网站要怎么配置的服烟台app开发公司
  • 从化网站建设方案怎么注册公司名字
  • 网站建设需要哪些书籍免费做游戏网站
  • 杭州 网站定制做旅游网站宣传
  • 泉州市做网站优化建设地情网站的作用
  • 筑巢网络官方网站打开搜索引擎
  • 赣州做网站公司哪家好网站先做前端还是后台