IT培训机构|91免费精品视频|专注编程培训|91免费精品|软件开发培训_91免费国产视频_华清远见教育

Hi,歡迎來到嵌入式培訓高端品牌 - 華清遠見教育科技集團<北京總部官網>,專注嵌入式工程師培養15年!
當前位置: > 華清遠見教育科技集團 > 嵌入式學習 > 講師博文 > 文本流和二進制流
文本流和二進制流
時間:2016-12-30作者:華清遠見

我們在寫C程序的時候經常會涉及到對流的操作,比如說從標準輸入流讀取一串字符串,然后通過標準輸出流輸出顯示在屏幕上,這也就是所謂的IO操作。那么流究竟是什么東西?下面首先對流這個概念做一下解釋。

一. 流(stream)的概念

計算機有很多外部設備,比如鍵盤、鼠標、CD-ROM驅動器、硬盤、網絡接口、視頻適配器等。這些設備都和IO操作有關系,而每種設備都具有不同的特性和操作協議。操作系統負責實現微處理器和和這些外設的通信細節,并向應用開發程序員提供更為簡單和統一的IO接口,比如Linux操作系統下的open(),read(),write()等系統調用使我們可以以文件的形式打開并讀寫一個設備。

ANSI C進一步對IO的概念進行抽象。就C程序而言,所有的IO操作只是簡單地從程序移進或者移出字節,這種字節流便被稱為流(stream)。程序員只需要關心創建正確的輸出字節數據,以及正確的解釋從輸入讀取的字節數據,特定IO設備的細節對程序員是隱藏的。

因此流是一個高度抽象的概念,它將數據的輸入和輸出看作是數據的流入和流出,這樣不管是什么IO設備:顯示器、鍵盤還是硬盤,都被視為同一種東西。都可以作為流的源和目的,對它們的操作,就是數據的流入和流出。

在C語言中流分為兩種類型:文本流(text stream)和二進制流(binary stream)。下面分別進行介紹。

二. 文本流

文本流是指在流中流動的數據是以字符的形式出現的。流中的每一個字符對應一個字節,用于存放對應的ASCII碼值,因此文本流中的數據可以顯示和打印出來,都是用戶可以讀懂的信息。比如數5678在文本流中的存放形式是:

ASCII碼: 00110101 00110110 00110111 00111000
                          ↓     ↓    ↓    ↓
        十進制碼: 5     6    7    8

一共占用4個字節。

文本流的有些特性在不同的系統中可能不同。其中之一是文本行的大長度,標準規定至少允許254個字符。另一個可能的不同是文本行的結束方式。例如,在MS-DOS系統中,文本文件約定以一個回車符和一個換行符(也叫行反饋符)結尾,不過UNIX系統只使用一個換行符結尾。文本流中不能包含空字符(即ASCII碼中的NULL)。

三. 二進制流

二進制流中的字節將完全根據程序編寫它們的形式寫入到文件或者設備中,而且完全根據它們從文件或者設備讀取的形式讀入到程序中。它們并未做任何改變,這種類型的流適于非文本數據,但是如果你不希望IO函數修改文本文件的行末字符,也可以把它用于文本文件。

二進制流中的數據是按照二進制編碼的方式來存放文件的。比如數5678的二進制流中的存儲形式為:00010110 00101110只占二個字節。二進制數據也可在屏幕上顯示, 但其內容無法讀懂。

二進制流比文本流更節省空間,且不用對換行符進行轉換,這樣可以大大加快流的速度,提高效率,二進制流沒有行長度的限制,也可以包含空字符(NULL)。因此,對于含有大量數據信息的數字流,可以采用二進制流的方式;對于含有大量字符信息的流,則采用文本流的方式。

 
發表評論
評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
主站蜘蛛池模板: 商用车之家——观点有态度 热点不缺席 靠谱的商用车门户网站 | 兰州职业学校-新华互联网学校咨询平台中心 | 欧氏运动木地板,体育木地板厂家,篮球木地板价格_欧氏体育木地板 欧派板材官网 | 全屋定制板材 专业供应商 | 制冷加热循环机,密闭高低温一体机,优质密闭低温冷冻机-无锡冠亚恒温制冷技术有限公司 | 激光焊接机_激光打标机_激光切割机-惠州市镭凌激光科技有限公司 激光焊接不锈钢翅片管,不锈钢翅片管,激光焊接复合翅片管,南通拓帆换热设备有限公司 | 万通汽车学校,汽车学校,汽修学校,汽修培训学校,汽车美容学校,汽车维修学校,学汽修-武汉万通汽车学校官方网站 | 液体粉末包装机_颗粒粉剂自动包装机-上海巧慈自动化设备有限公司 | 美国西娅图床垫官网-专注高端床垫18年 - 美国西娅图床垫官网 | 宜宾三江人才网_三江人才网_宜宾三江人才网_三江人才直聘网是本地颇具规模的网上人才市场 | 以物联网技术为核心专注于智能安防领域物联网服务的高新技术企业-北京欣智恒科技股份有限公司(官网) | 样品前处理仪器_光谱仪器_色谱/分析仪器_测量/计量仪器_青岛聚创世纪环保科技有限公司 | 皮带清扫器-皮带聚氨酯合金空段输送带清扫器刮刀厂家-衡水格锐特机械科技有限公司 | 郑州阳光房|封阳台|钢结构【河南郑州如意阳光房门窗有限公司】 | 喵走共享单车网 - 共享电动车_共享电单车骑行门户网站 倡导绿色出行 | 上海惠涵实业有限公司-德国进口风机,德国Elektror依莱克罗风机 上海画册设计-上海宣传册设计-产品手册设计-企业画册设计公司 | 阴_阳离子聚丙烯酰胺价格_聚合氯化铝厂家_聚合硫酸铁-巩义市亿洋水处理材料有限公司 | 塑料振动筛-防腐蚀振动筛-聚丙烯振动筛-塑料振动筛厂家河南迈能机械设备有限公司 | 在线红外水分测控仪-SK-100水分测试仪-上海拓西电子科技有限公司 | 清洁度检测_手动颗粒萃取设备_自动颗粒萃取设备 - 厦门迈纳光学技术有限公司 | 山东临沂春鑫新能源科技有限公司|官网|生物质颗粒锅炉|燃气锅炉|水源热泵 | 廊坊微信营销,廊坊小程序开发,廊坊APP开发(安卓_苹果ios开发),微信朋友圈广告,百度推广,廊坊网络公司品牌服务商-河北盛秋网络科技有限公司 | 青岛相控阵检测_无损探伤检测机构_相控阵超声检测公司-青岛发现检验技术咨询 | 压力变送器,差压变送器,液位变送器,温度变送器生产厂家价格-西安仕乐克仪表科技有限公司 | 减速电机-调速电机-四大系列减速机-减速电机厂家-深圳市鑫希田机电有限公司官网 | 思沃普智能会议预约管理系统-视频会议管理-信息发布-访客管理-会议运维-会议支持-工位管理系统 | 襄阳燃烧器厂家-低氮燃烧器价格-河北五通道燃烧器就找襄阳市胜合燃力设备有限公司一站式服务 | 温湿度变送器_pm2.5传感器_湿敏电阻_二氧化碳传感器_甲醛传感器-美特瑞科技 | 泡沫|水罐|干粉消防车价格_特种消防洒水车厂家-湖北江南 | 览众房车,房车, 房车厂家, 房车价格, 房车图片,, 四驱房车, 皮卡房车, 越野房车, 依维柯房车, 国产房车, 自动挡房车, | 阻垢剂|缓蚀剂|杀菌剂|分散剂|水处理剂|印染助剂|水处理药剂|造纸助剂|膜阻垢剂|缓蚀剂|HEDP|ATMP|螯合剂-山东凯瑞化学有限公司 水处理药剂生产厂家 | 智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒 | 深圳喜运达物流官网_东南亚物流|海运|专线|海外仓_泰国菲律宾马来西亚海运|物流专线|海外仓 | 粮食烘干机|玉米烘干机|稻谷烘干机|小麦烘干机|大型连续烘干塔|500吨连续烘干塔|钢板仓|-郑州新光矿山机械制造有限公司 | 消泡剂_有机硅消泡剂_分散剂_流平剂_氟碳表面活性剂-上海梓意化工有限公司 | 重庆中医针灸推拿培训_产后康复理疗师培训_重庆市六合职业培训学校 | 转轴测试机-按键寿命测试机-连接器插拔力试验机-深圳市丹荣检测 转盘萃取塔,DMF回收塔生产厂家-无锡弘鼎华化工设备有限公司 | 郑州编织袋厂_郑州塑料编织袋_河南塑料编织袋厂-河南宏旺塑料编织袋厂家 | 上海祝融起重机械有限公司-德国耶鲁手拉葫芦|耶鲁手拉葫芦|耶鲁手扳葫芦|耶鲁电动葫芦经销代理 | 腾云网-智慧网络营销服务提供商| 游离二氧化硅处理仪-恒温恒湿称重系统-智能蒸馏仪-硫化物酸化吹气仪-萃取仪-COD消解仪 | 数控立式车铣复合加工中心_数控立车_卧式加工中心_阀门专机-华电数控 |