完全获取0x0d和0x0a

发布时间:2019-10-13 10:51来源:365bet盘口开户点击率:
当前位置:Linux网络Linux门户> Linux编程和内核
完全获取0x0d和0x0a
发布时间:2008-10-0721:26:26来源:红色联盟作者:inwind
0x0d和0x0a是什么,大多数人可能都知道这是回车符和换行符,但是那是回车符,什么是换行符?
据估计,目前有许多人模棱两可,因此您可能不相信它,并调查您周围的同事。假定包含以下单词:
请记住
输入为0x0d。”
这次,我将arm-linuxC程序移植到VC ++,发现了许多不同之处。特别是,这种回车时间在早上浪费了,因此我决定在这种情况下将它们完全拿走。
让我们谈谈一天早上浪费了什么。教训很重要。希望不要重复我的错误----在arm-linux中,编写一个二进制文件,并在打开文件时将其写入。fp_wthdisk = fopen(文件路径名,“ w”);以w格式写入。
将程序移植到vc ++后,我发现将0x0a写入文件时,0x0d会自动添加到开头。我认为这只是编写矩阵的问题。重复验证后未发现问题。然后我的同事问我:“你?文件是以二进制格式写的吗?
”我说:“是的,fwritew格式,没问题。切换到wb后,“稍后我将以wb格式编写”,这真的很好,太棒了!
我给他竖起大拇指。
鉴于此,以上内容促使我决定为什么要退车。
我认为有人可能会犯同样的错误。
但是,如果您知道下一个问题,您就不必浪费时间继续观察。
1)
在Windows XP Visual C ++中,按Enter。系统是否获得字符0x0d或0x0a或0x0d和0x0a?
2)
回车功能(0x0d)返回到行的开头。这是否表示已输入一行并停留在最后一个位置,还是光标移动到了下一行的开头?
1)
答案是得到字符0x0d
2)
答案是回车只能将光标移动到行的初始位置。
注意:回车和换行在不同的环境中具有不同的含义,例如Sleep(1)和Sleep(1)[大写S注释]是不同的功能。睡眠(1)表示Linux挂起(1)延迟1秒,表示vc ++延迟1毫秒。如果您不根据您的环境谈论回车和换行符,这是没有意义的。只是让人们迷路而浪费时间。
我只试验了arm-linuxC和vc ++。请注意在其他语言环境中做广告。如果您自己做不到,那么您就是最可靠的。
arm-linuxC和vc ++ return的含义如下:
回车符:CRASCII码:\ r,十六进制,0x0d,回车符的功能是将光标移动到行的初始位置。
换行代码:LF ASCII代码:\ n,十六进制,0x0a,调整到下一行的开始位置。
在Linux和Windows上,回车测试[代码]sprintf(versionbuf,“%s”,“ TEST_VERSION_1_0_11 \ rabcdefg \ r34567
“);
Printf(“%s”,versionbuf);[/代码]印象数:34567fgRSION_1_0_11,显示了先前的结论。
实际上,混淆回车和换行的一个重要原因是每个人都在键盘上输入“ Enter”键。0x0d表示“ Enter”,然后按Windows txt文件下的Enter键。一起搅拌。
按键盘上的Enter键以使用不同的软件获取不同的字符。
在Windows上,如果在txt文件中输入Enter键,则在十六进制观测值中将看到两个字符0x0d和0x0a。我不是那个意思密钥为0x0d和0x0a。
在Linux上,输入文件,然后按Enter。您可以看到一次仅添加一个字符。