什么是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. 第12天续,CSS基础
  2. ACM 模板--邻接表 无向图 搜索算法
  3. java se 导原码_Java SE 8新功能导览:Java开发世界中的重大变化
  4. [django]django模型中auto_now和auto_now_add
  5. 【开源】本周不容错过开源论文,含分割、检索、神经渲染、deepfake 检测、超分、视频相关等...
  6. STM32工作笔记0061---通用定时器基本原理
  7. 用Eclipse制作博客
  8. 3.MNIST数据集分类
  9. 【JavaScript-移动端常用事件】了解移动端touch触摸事件
  10. 日语五十音之平假音和片假音的巧记
  11. 哪个版本的linux适合个人主机,2020年适合个人使用的Linux发行版推荐TOP5
  12. 学习笔记(3):海量数据的交互式分析工具-Dremel
  13. 使用imagick将PDF转换成图片时报Fatal error: Uncaught exception 'ImagickException' with message 'FailedToExecute
  14. 手机运行android虚拟机,手机也能装虚拟机?实测虚拟机APP坑爹or真有料
  15. mysql高级笔记_MySQL高级学习笔记
  16. GitHub牛逼开源项目!像写 Markdown 一样画流程图
  17. 《途客圈创业记:不疯魔,不成活》一一2.7 愿景和使命
  18. Golang开发新手常犯的50个错误
  19. Linux 查找内容包含某字段的文件
  20. Unity中行星和恒星的旋转——Rotate和RotateAround

热门文章

  1. Java 参数 Xms 和 Xmx
  2. 过来人讲讲:程序员怎么达到年薪百万
  3. 服务器出现 HTTP 400、404、500、502 错误原因以及解决办法
  4. excel办公软件获取某月天数的计算方法及相关时间公式
  5. 用html4绘制海豚,CorelDRAW绘制一幅海豚嬉戏的海上风光效果图
  6. 如何查看cpu核数以及线程数
  7. next.js入门之pages页面
  8. 王者荣耀——当今的最热门手游
  9. 基于poi的动态导出excel表头以及统计行列数据(全网最全)
  10. Gmedian(几何中位数或者中位数中心)