C语⾔中r,n,b的区别
1. \r\n 和 \n 区别 (来源:百度知道)
\r是回车符,\n是换⾏符
计算机还没有出现之前,有⼀种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有⼀个问题,就是打完⼀⾏换⾏的时候,要⽤去0.2秒,正好可以打两个字符。要是在这0.2秒⾥⾯,⼜有新的字符传过来,那么这个字符将丢失。
于是,研制⼈员想了个办法解决这个问题,就是在每⾏后⾯加两个表⽰结束的字符。⼀个叫做“回车”,告诉打字机把打印头定位在左边界;另⼀个叫做“换⾏”,告诉打字机把纸向下移⼀⾏。
这就是“换⾏”和“回车”的来历,从它们的英语名字上也可以看出⼀⼆。
后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,⼀些科学家认为在每⾏结尾加两个字符太浪费了,加⼀个就可以。于是,就出现了分歧。Unix 系统⾥,每⾏结尾只有“<;换⾏>”,即“\n”;Windows系统⾥⾯,每⾏结尾是“<;回车><;换⾏>”,即“ \r\n”;Mac系统⾥,每⾏结尾是“<;回车>”。⼀个直接后果是,Unix/Mac系统下的⽂件在Windows⾥打开的话,所有⽂字会变成⼀⾏;⽽Windows⾥的⽂件在Unix/Mac下打开的话,在每⾏的结尾可能会多出⼀个^M符号。
2. \b 和 \r (来源:新浪爱问)
ASCII码转义符
\b = 退格键(backspace)
\r = 回车键(carrige return)
例如, 假设x⼀个实数型变量,则语句
printf("%d\r", x);
输出x的当前值,然后把光标移到⾏⾸。
printf("%d\b, x);
先输出x的当前值,然后再将其消掉,就像我们打字时
按退格键⼀样。
真正常⽤的转义符是\n(newline换⾏)
c语言和c++区别
printf("%d\n", x);
输出x的当前值,然后换⾏到下⼀⾏的⾏⾸。
注意:Unix(Linux)系统只需要\n就可将光标移到
下⼀⾏⾏⾸;但在Windows系统中,\n只换⾏,不
移动光标,所以Windows系统中需要把\n和\r结合使⽤:
printf("%d\r\n",x);
⽅可在输出x后把光标移到下⼀⾏的⾏⾸。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论