什么是0x0d和0x0a
,可能大部分人都知道是回车和换行字符,但那个是回车,那个是换行?估计很多人都一时说不清楚了---
也许你不相信,那就调查下周围的同事吧,估计会包含以下字眼“大概。我记得。回车是0x0d吧”。这次我移植arm-linux C的程序,至VC++,
发现了很多不同,尤其是这个回车换行浪费我一上午的时间,我决定借此机会彻底搞定他们,
这两个令人讨厌的家伙。   先说下浪费我一上午的那个东西----
教训是很重要的,希望大家不要重蹈我的覆辙----,在arm-linux下,写二进制文件,打开文件的时候 这样写就可
以了fp_wthdisk = fopen(file_pathname,"w");,以w
格式写就可以了。把这段程序移植到vc++后,发现一旦我向文件写入0x0a,前边就会自动加上0x0d
,我以为是我写入数组的问题,反复检查也没有找到毛病,后来同事问我:“你是不是二进制格式写入的文件?”我说:
“是呀,fwrite w格式,没有问题呀”,后来他说,你试试“wb格式写入一下”
,改为wb后,果真就好了,厉害!,我对他竖起了大拇指。  
看到这里,上边促使我下决心搞清楚回车换行的原因说完了。我想可能有人会犯同样错误的。
但如果你对以下几个问题,都知晓了,就不必浪费时间,继续看下去了。   1.在Windows XP Visual C++下,按下回车键,系统获得的字符是0x0d
还是0x0a,还是0x0d和0x0a?
    2.
回车(0x0d)的作用是回到本行的行首位置,表示本行已经输入完毕,停留在最后一个位置,还是光标转移到下一行的起始位置?
    1.的答案是仅获得字符 
0x0d    2.
答案是回车的作用只是移动光标至该行的起始位置    注意:回车和换行在不同环境下的意义不同,正如sleep(1)和Sleep(1
)【注意S大写】这两个函数的不同一样,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和windows下,回车试验 
CODE: 
sprintf(versionbuf,"%s","TEST_VERSION_1_0_11\rabcdefg\r34567\n"); printf("%s",versionbuf);
    均打印输出:34567fgRSION_1_0_11,证明了以上结论。  
  其实回车和换行之所以把大家搞迷糊的一个重要原因,是大家把键盘的 
“回车键”,0x0d表示“回车”,我们在windows
下的txt文件下敲下的回车键等情况搅在了一起。在键盘上敲下回车键,在不同软件下获得字符大有不同。 
   Windows下在
txt文件中敲下回车键,然后16进制观察,你会发现获得了2个字符,0x0d和0x0a,这个大家都知道,但这不意味着,在任何情况下敲下回车键,都会获得0x0d和0x0a。    在linux下,你对一个文件,敲下回车键,你就会发现,它每次只增加一个字符。

彻底搞定回车0d和换行0a相关推荐

  1. python 结尾回车_理解不了Python正则表达式?我帮你搞定

    点击蓝字"python教程"关注我们哟! 在学习Python的过程中,我们难免会遇到比较晦涩.难以理解的内容,比如Python中的正则表达式.面向对象等内容,为了更好地帮助大家理解 ...

  2. 一文搞定GPS接收机定位

    结课大作业,把我网上找到的资料和我制作的过程整合了一下,希望对大家有所帮助 什么是GPS接收机 GPS接收机是接收全球定位系统卫星信号并确定地面空间位置的仪器.GPS卫星发送的导航定位信号,是一种可供 ...

  3. 转: 回车(CR)与换行(LF), '\r'和'\n'的区别

    [转] 回车(CR)与换行(LF), '\r'和'\n'的区别 2011-03-15 21:11 转载自 Codefuture 最终编辑 Codefuture 一:回车"(Carriage ...

  4. python正则匹配日期2019-03-11_都2019年了,正则表达式为啥还是这么难?这里的Python学习教程教你搞定!...

    都9102年了,你还觉得正则表达式很难?难,确实是还难啊! 这里南瓜跟大家总结的最新Python学习教程,教你搞定它! 正则表达式语法 字符与字符类 特殊字符: .^$?+*{}| 以上特殊字符要想使 ...

  5. 文字 竖排居中_学会了这几招,瞬间就搞定PPT文字排版问题!

    hello,大家好啊,我是summer! 毫不夸张的说PPT中用的最多的元素就是文字!​ 基本每一页PPT都会有文字存在. 但是文字排版要是没搞好,就很有可能成为下面这个鬼样子: 那么今天,我就来给大 ...

  6. 回车符号和换行符号产生背景

    回车符号和换行符号产生背景: 关于"回车"(carriage return)和"换行"(line feed)这两个概念的来历和区别. 在计算机还没有出现之前,有 ...

  7. 终于搞定了stackoverflow的富文本编辑器pagedown

    原创不易,转载请注明出处:终于搞定了stackoverflow的富文本编辑器pagedown 这个编辑器在最代码平台上运行了大半年发现确实很多人不喜欢,所以选择了ckedidor 来show下非常符合 ...

  8. iOS一键搞定自动打包并发布到AppStore和Fir

    原文发布在个人简书,更多内容欢迎关注笔者简书 互相交流. 日常编译打包工作主要是以下两个目的: 提交测试版本ipa给测试人员 配置好测试描述文件,然后Product -> Archive编译打包 ...

  9. 【正则表达式】——10个非常常见的正则表达式案例,轻松搞定正则表达式

    正则表达式是由一些具有特殊含义的字符组成的字符串,多用于查找.替换符合规则的字符串.在表单验证.Url映射等处都会经常用到. 在写正则表达式的时候,我们需要把模式写入一对//正斜杠里面 /正则表达式/ ...

最新文章

  1. 生信宝典文章集锦,你想看的都在
  2. mysql 创建函数问题
  3. 安装Kubernetes-Dashboard插件
  4. 前端构建工具gulp之基本介绍
  5. 职业相关职位及职位能力要求知识点大纲范围
  6. 蓝桥杯 十进制数转八进制数
  7. [Medical Image Processing] 2. Image Binary -【OTSU Algorithm Entropy Method】
  8. Java基础知识复习(二)
  9. react动画库_React 2020动画库
  10. 新0-Day漏洞或将给Linux桌面发行版带来浩劫
  11. 【Python实例第28讲】核主成分
  12. 安卓手机免root修改hosts文件
  13. 【sduoj】前端JSZip库的使用
  14. 怎么修改打印机服务器权限,Win7如何设置网络打印机管理权限
  15. 第三代CAN-XL通信技术CiA 610有什么特点
  16. 软件项目管理第4版课后习题第十六章
  17. 兼容Android11的手机拍照上传图片和相册选择图片功能(可直接用)
  18. python数据集_【Python数据分析实战】divorce数据集
  19. XXX正在运行,点按即可了解详情或停止应用
  20. 动网 php v1.0 漏洞,动网论坛dispuser.php页面SQL注入漏洞

热门文章

  1. simulink抖动_关于抖动时钟的模型
  2. 帮我用java 写个二维码识别工具
  3. 我的世界服务器自动攻击外挂,我的世界自动攻击怎么开?打开之后你将会所向无敌...
  4. 【转载】Android逆向开发之smali语言的学习
  5. 同花顺快捷键以及使用方法
  6. java扫雷游戏,触雷时学姐哭着扑向了你!
  7. 正义有时会迟到,但从不会缺席
  8. 手把手教你研发自己的智能无人机
  9. OZON的FBP发货模式是什么?OZON新手注意事项有哪些?
  10. 面试-Spring的生命周期