文本模式读写文件中r和n的问题

文本模式读写文件中r和n的问题


发布日期: 1970-01-01 更新日期: 2015-01-27 编辑:giser 浏览次数: 4360

标签:

摘要: DOS文件(windows格式文件)中,按一下ENTER就是输入了rn,这就是回车换行 MAC文件里,用r换行 UNIX文件里,用n换行 自己尝试了一些r、n的组合,归纳了下规律: windows下用文本方式写文件时缓冲区里的n或者r都会被自动替换为rn写入...

DOS文件(windows格式文件)中,按一下ENTER就是输入了rn,这就是回车换行 MAC文件里,用r换行 UNIX文件里,用n换行 自己尝试了一些r、n的组合,归纳了下规律:

windows下用文本方式写文件时缓冲区里的n或者r都会被自动替换为rn写入文件,即使是连着的rn,也会被替换成rnrn(但是msdn上面只说r被替换为rn,我的前面一篇博文里有原文)。windows下用文本方式读文件时 文件中的rn自动替换为n存放到缓冲区里(这点和msdn是符合的,前面的博文里有原文) r不会被替换。假设要读取的文件流长度小于缓冲区长度 如果用fread文本模式读文件,rn被替换为n读进缓存区里 如果是fgets文本模式读文件,碰到第一个n(这里的r和n都是指经过转换后读入缓冲区的,即rn被替换为n)后停止读取,缓存区里存放的是n之前的字符串(包括这个n以及之前所有的r)fread和fwrite的返回值问题文本模式写文件时,n或r自动替换成rn,但是fwrite的返回值里还是算写了一个字符(和msdn符合,前面一篇博文有原文)文本模式读文件时,rn被自动替换为n,但是也算是读了一个字符(和msdn的不一样,msdn是说算读了2个,前面的博文里有原文)

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org