windows与linux下的\r\n
来源:互联网 发布:淘宝开店的多少钱 编辑:程序博客网 时间:2024/05/05 04:07
\n 为ASCII的0x0a 换行
\r 为ASCII的0x0d 回车
在windows 系统中,当你输入回车时会自动变成\r\n
在linux下的回车键只代表\n
而在windows下的回车键表示\r\n
\n为进入下一行,\r为打印头回到行首上
linux/unix下只用\n,它就表示回车+换行
而windows下,\r只回车不换行的,\n是换行,但在有些编辑中,单独的\n是不会换行的(如notepad)
程序输出de,理由同上,导致abc被覆盖,只输出了\r后的de。
\r 为ASCII的0x0d 回车
在windows 系统中,当你输入回车时会自动变成\r\n
在linux下的回车键只代表\n
而在windows下的回车键表示\r\n
\n为进入下一行,\r为打印头回到行首上
linux/unix下只用\n,它就表示回车+换行
而windows下,\r只回车不换行的,\n是换行,但在有些编辑中,单独的\n是不会换行的(如notepad)
一般在程序中,写\n就可以了,它在linux或windows中都能实现回车+换行的功能(只是在文本文件中,linux只会有0x0a,windows会自动换为0x0d 0x0a)
下面举个例子:
#include<stdio.h>int main(){ char a[10]="abc\r"; printf(a); return 0;}
程序运行时没有任何输出。
原因就是 \r 回车 表示打印头回到该行起始位置,从而覆盖了abc,所以控制台上就没有任何输出啦!
下面是位朋友提供的例子,更能说明这个问题:
#include<stdio.h> int main() { char a[10]="abc\r"; char overwrite[3]="de"; printf(a); printf(overwrite); }
程序输出de,理由同上,导致abc被覆盖,只输出了\r后的de。
- windows与linux下的\r\n
- windows与linux下的\r\n
- windows与linux下的\r\n
- Windows与Linux文本文件传输\r\n的那些事儿
- windows和linux下\r\n问题
- Windows下的回车换行(\r\n)
- UNIX下是\n,Windows下是\r\n (Linux & Windows中Enter键的不同解释)
- java中\r与\n的区别 (主要是在windows中DOS命令下)
- Windows下的回车是回车换行(\r\n)还是换行回车(\n\r)
- \r 与 \n 的区别(应用在Linux下进度条的制作)
- Linux下\r\n问题
- /r/n在windows和linux的区别
- Linux和Windows对"\r\n"的不同处理
- Linux和Windows的换行符\r\n
- windows,linux,unix 里的 \r \n解释
- \r\n \n\r 在window, linux下区别
- Linux下的换行符\n\r剖析
- 深入解析Linux下\r\n的问题
- java中文乱码
- Java虚拟机 时区问题
- JAVA使用EPoll来进行NIO处理的方法(转)
- Facebook移动信息流重大更新,包括游戏新闻
- 使用Python操作注册表
- windows与linux下的\r\n
- Python实现在不同Linux主机之间拷贝文件
- 关于宏
- 《三星浴火重生李健熙改革十年》读后感—责任与执行
- VS2010 配置QT
- 类型码,似乎是对于构造成java枚举类似的应用。
- C# 操作Excel ——Excel获取数据、时间、图片
- Spring 2.x AOP声明式配置+声明式事务管理
- Java按行读取文件