回车与换行.doc

上传人:ng****60 文档编号:2422094 上传时间:2019-05-12 格式:DOC 页数:4 大小:179.50KB
下载 相关 举报
回车与换行.doc_第1页
第1页 / 共4页
回车与换行.doc_第2页
第2页 / 共4页
回车与换行.doc_第3页
第3页 / 共4页
回车与换行.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、首页 资讯 空间 学生 论坛 博客 下载 读书 网摘 程序员 外包 商城 书店 网址 CTO 乐知教育 D9区 kingmax26 的专栏 登录 注册 博客首页 全站 空间 博客 好友 相册 留言 用户操作 留言 发消息 加为好友 kingmaxID: kingmax26 共 763 次访问,排名 2 万外 , 好友 0 人, 关注者 0 人。 kingmax 的文章 原创 5 篇 翻译 3 篇 转载 21 篇 评论 24 篇 订阅我的博客 kingmax26 的公告 文章分类 HART linux 转贴 存档 2010 年 03月 (2) 2010 年 02月 (8) 2010 年 01月

2、(5) 2009 年 09月 (2) 2009 年 08月 (3) 2009 年 06月 (1) 2008 年 10月 (5) 2008 年 09月 (3) 彻底搞定 0x0d和 0x0a 收藏 什么是 0x0d 和 0x0a,可能大部分人都知道是回车和换行字符,但那个是回车,那个是换行?估计很多人都一时说不清楚了 -也许你不相信,那就调查下周围的同事吧,估计会包含以下字眼 “大概。我记得。回车是 0x0d 吧 ”。这次我移植 arm-linux C的程序,至 VC+,发现了很多不同,尤其是这个回车换行浪费我一上午的时间,我决定借此机会彻底搞定他们,这两个令人讨厌的家伙。 先说下浪费我一上午的

3、那个东西 -教训是很重要的,希望大家不要重蹈我的覆辙 -, 在 arm-linux 下,写二进制文件,打开文件的时候 这样写就可以了 fp_wthdisk = fopen(file_pathname,“w“);,以 w 格式写就可以了。把这段程序移植到 vc+后,发现一旦我向文件写入 0x0a,前边就会自动加上 0x0d,我以为是我写入数组的问题,反复检查也没有找到毛病,后来同事问我: “你是不是二进制格式写入的文件? ”我说: “是呀, fwrite w格式,没有问题呀 ”,后来他说,你试试 “wb格式写入一下 ”,改为 wb 后,果真就好了,厉害!,我对他竖起了大拇指。 看到这里,上边促使

4、我 下决心搞清楚回车换行的原因说完了。我想可能有人会犯同样错误的。但如果你对以下几个问题,都知晓了,就不必浪费时间,继续看下去了。 1.在 Windows XP Visual C+下,按下回车键,系统获得的字符是 0x0d 还是 0x0a,还是 0x0d 和 0x0a? 2.回车( 0x0d)的作用是回到本行的行首位置,表示本行已经输入完毕,停留在最后一个位置,还是光标转移到下一行的起始位置? 1.的答案是仅获得字符 0x0d 2.答案是回车的作用只是移动光标至该行的起始位置 注意:回车和换行在不同环境下的 意义不同,正如 sleep( 1)和 Sleep( 1)【注意 S大写】这两个函数的不

5、同一样, sleep( 1)在 linux 下表示延时 1s,而 Sleep( 1)在 vc+下表示延时 1ms,如果不依据环境来讨论回车和换行,是无意义的,只能是让人们误入歧途和浪费时间。 我只在 arm-linux C 和 vc+下做了试验,请大家在接触其它语言环境下,小心推广,不行就自己动手做试验,最可靠。在 arm-linux C和 vc+下回车换行的意义如下。 回车 代码: CR ASCII 码: r ,十六进制, 0x0d,回车的作用只是移动光标至该行的起始位置; 换行 代码: LF ASCII码: n ,十六进制, 0x0a,换行至下一行行首起始位置; Linux 和 windo

6、ws 下,回车试验 CODE: sprintf(versionbuf,“%s“,“TEST_VERSION_1_0_11rabcdefgr34567n“); printf(“%s“,versionbuf); 均打印输出: 34567fgRSION_1_0_11,证明了以上结论。 其实回车和换行之所以把大家搞迷糊的一个重要原因,是大家把键盘的 “回车键 ”, 0x0d 表示 “回车 ”,我们在 windows 下的 txt 文件下敲下的回车键等情况搅在了一起。在键盘上敲下回车键,在不同软件下获得字符大有不同。 Windows 下在 txt 文件中敲下回车键,然后 16 进制观察,你会发现获得了

7、2 个字符, 0x0d 和 0x0a,这个大家都知道,但这不意味着,在任何情况下敲下回车键,都会获得 0x0d 和 0x0a。 在 linux 下,你对一个文件,敲下回车键,你就会发现,它每次只增加一个字符。 / rn 0x0d 0x0a 回车 换行 回车即光标移动到行首 换行即光标移动到下一行 发表于 2010 年 02月 02日 17:11:00 | 评论 ( 0 ) | 举报 | 收藏 旧一篇 : 彻底搞定 0x0d 和 0x0a | 新一篇 :转换二进制数据流成字符串显示 查看最新精华文章 请访问博客首页 相关文章 发表评论 表 情: 评论内容: 用 户 名: 登录 注册 匿名用户 验 证 码: 重新获得验证码 Copyright kingmax26 Powered by CSDN Blog 近期热点文章推荐

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。