进行数据存取的技巧总结(相当的经典).doc

进行数据存取的技巧总结(相当的经典).doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
进行数据存取的技巧总结(相当的经典).doc

使用文本文件(?txt)进行数据存取 技巧总结(相当的经典) 由丁?本帖内容较多,部分转自他人的心得,因此,凡转贴的地方仅用“一一转一一”标注,原 作者略去,在此对所有原作者表示感谢! 特别说明:山于大家在I/O存収上以txt文件为主,且读取比存储更麻烦(存储的话fwrite, fprintf皋本够用),因此下面的讨论主要集中在“txt文件的读取”上。除了标注了 “转” Z 外,英余心得均出于本人经验之结呆,欢迎人家指止、补充。 一?基本知识: 转 二进制文件与文本文件的区别: 将文件看作是山一个一个字节(byte)组成的,那么文本文件中的每个字节的最髙位都是0,也 就是说文本文件使用了一个字节中的七位來表示所有的信息,而二进制文件则是将字节中的所有 位都用上了。这就是两者的区别;接着,第二个问题就是文件按照文木方式或者二进制方式打开, 两者会有什么不同呢?其实不管是二进制文件也好,还是文木文件也好,都是一连串的0和1, 但是打开方式不同,对于这些0和1的处理也就不同。如果按照文本方式打开,在打开的时候会 进行translate,将每个字节转换成ASCII码,而以按照二进制方式打开的话,则不会进行任何 的translate;最后就是文本文件和二进制文件在编辑的时候,使用的方式也是不同的。辔如, 你在记岀木屮进行文木编辑的时候,你进行编辑的最小单位是字节(byte):而对二进制文件进行 编辑的话,最小单位则是位(bit),当然我们都不会直接通过手工的方式对二进制文件进行编辑 To从文件编码的方式來看,文件可分为ASCII码文件和二进制码文件两种: ASCII文件也称为文本文件,这种文件在磁盘中存放吋每个字符对应一个字节,川于存放对应的 ASCII码。例如,数5678的存储形式为: ASCII 码:0011011000111000 1111 十进制码: 5 6 7 8 共占用4个字节。ASCII码文件可在屏幕上按字符显示,例如源程序文件就是ASCII文件,用DOS 命令TYPE可显示文件的内容。由于是按字符显示,因此能读懂文件内容。 二迹制文件是按二进制的编码方式來存放文件的。例如,数5678的存储形式为:00101110只占二个字节。二进制文件虽然也可在屏幕上显示,但其内容无法读懂。 C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。输入输出字符流 的开始和结束只由程序控制而不受物理符号(如回车符)的控制。因此也把这种文件称作“流式文 件”。 文本模式(textmode)和二进制模式(binarymode)有什么区别? 流可以分为两种类型:文本流和二进制流。文本流是解释性的,最长町达255个字符,其屮回车 /换行将被转换为换行符“\n”,(如果以〃文本〃方式打开一个文件,那么在读字符的时候,系 统会把所有的〃\r\n〃序列转成〃\n〃,在写入时把〃\n〃转成〃\r\n〃)。二进制流是非解释性的, 一次处理一个字符,并且不转换字符。 注: \n 一般会操作系统被翻译成〃行的结束〃,即LF(Line-Feed) \r会被翻译成冋千,即CR (Cariage-Return) 对于文本文件的新行,在UNIX ±, 一般用\n(LF)来表示,Mac上ffl\r(CR)来表示, Windows 上是用\n\r (CR-LF)來农示。 通常,文木流用来读场标准的文木文件,或者将字符输出到屏幕或打印机,或者接受键盘的 输入;而二进制流用來读写二进制文件(例如图形或字处理文档),或者读取鼠标输入,或者读写 调制解调器。如果用文本方式打开二进制文件,会把“OD 0A”自动变换成“\n”來存在内存 屮。写入的时候反向处理。而二进制方式打开的话,就不会有这个过程。但是,Unicode/UTF/UCS 格式的文件,必须用二进制方式打开和读写。 上述基础其实大可以略过,简言之,对用户来说:在matlab中存储成为二进制还是文木文件 収决于fopen的方式,如果用毗,则存储为文本文件,这样用记事本打开就可以正常显示了; 如果用w则存储为二进制文件,这样川记事本打开会出现小黑方块,耍止常显示的话,可以川写 字板或UltraEdit等工具打开。 Matlab的I/O文件操作使用技巧和总结: Matlab支持的I/O文件(对应“取/存”操作)类型:(所有文件I/O程序不需 要特殊的工具箱) http://www. mathworks. com/support/tech-notes/1100/1102. html (注:从上农可以看到,mallab不支持doc格式的文档存取(因为doc文档包含很多格式控制 符),请改用txt或者dat格式) Mat lab的I/O文件指南: http

文档评论(0)

ggkkppp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档