社区
C语言
帖子详情
Windows的换行符是\r\n还是\n?
ashamwolf
2010-10-28 10:18:21
原来一直以为Windows中,文件里面的换行符是\r\n,但昨天调试程序的时候发现:如果向文件中写入"\r\n",那么实际写入的是0x0d 0x0d 0x0a;如果写入"\n",那么写入的就是0x0d 0x0a。
我昨天测试用的是win7,但以前用xp的时候也会有异常,只是没查出是这个原因。
哪位老兄给个明确的答案?非常感谢
...全文
42756
12
打赏
收藏
Windows的换行符是\r\n还是\n?
原来一直以为Windows中,文件里面的换行符是\r\n,但昨天调试程序的时候发现:如果向文件中写入"\r\n",那么实际写入的是0x0d 0x0d 0x0a;如果写入"\n",那么写入的就是0x0d 0x0a。 我昨天测试用的是win7,但以前用xp的时候也会有异常,只是没查出是这个原因。 哪位老兄给个明确的答案?非常感谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wjlsmail
2013-05-07
打赏
举报
回复
文本用\n就可以
ji4ming2
2012-05-04
打赏
举报
回复
以前用同样的程序都以\n换行,在视窗和UNIX下输出。换行部分可能是0a0d或者只有0d,这个和操作系统有关。
但是即便是unix下输出的东西,传回视窗后,用记事本打开就看不到换行。但是换写字板、word之类就没问题。直接用cmd来现实文本文件内容也能看到换行。
然后好像用不同的ftp来穿文件,随选项不同,可能自动给换行部分加个字符,于是可以看到文件大小有变。
所以也许应该这么说,视窗下、unix下的约定如楼主所说。但是实际的程序里有“串词”的情况,因为可能需要考虑可能会读来自不同操作系统的文件。
实际写的时候,好像在视窗下,用C输出时,用一个符号\n就相当于写了二个字符\r\n。但是在unix下,这么做只输出\n。所以如果是在unix下逐个字符读视窗下的文件,得考虑读到\r的情况。
没花时间仔细试探过,所以上述说法可能有错。
bo_00
2010-10-28
打赏
举报
回复
1
是\r\n跟操作系统没关系,跟编辑软件有关系。
当你在记事本或word编辑时,按下enter,该软件默认的方式是插入回车\r,再插入换行\n。
当然如果在word下,按shift+enter,word这个软件回只向编辑的地址空间下,插入一个换行\n。
(有的编辑软件,提供设置界面接口,当按下enter时,可选择插入的是 ( 回车\r 或 换行\n 或 回车\r+换行\n)
当然如果编辑软件做了的话,也可以插入 换行\n+回车\r 或 其他任意一个值(例如0x01,0x02,0x03..))
linux上的编辑软件,一般默认是按enter,只插入一个换行\n。
walfud
2010-10-28
打赏
举报
回复
[Quote=引用 8 楼 xjpzy 的回复:]
用二进制方式时是\r\n,用文本方式时是\n
[/Quote]
说的对
xjpzy
2010-10-28
打赏
举报
回复
用二进制方式时是\r\n,用文本方式时是\n
zhutianjin4355255
2010-10-28
打赏
举报
回复
换行符是\r\n 写程序时用\n
luciferisnotsatan
2010-10-28
打赏
举报
回复
\r回车,\n换行
windows使用的换行符为\r\n
康斯坦汀
2010-10-28
打赏
举报
回复
肯定是 \r\n 类UNIX是\n
try325
2010-10-28
打赏
举报
回复
windows下换行符是\r\n
winton_adlsy
2010-10-28
打赏
举报
回复
换行符是\r\n 写程序时用\n
vanchristin
2010-10-28
打赏
举报
回复
那就是windows在写入文件的时候把一个\n转换成了\r\n,\r保持不变
「已注销」
2010-10-28
打赏
举报
回复
\r\r\n
java
换行符
.docx
在Java中,
换行符
用于在文本中换行。
换行符
是一个特殊的字符,可以在字符串或文件中使用。 Java中有两种常见的
换行符
表示方式:
换行符
符号:“\n”
正则替换
换行符
和把 br 替换成
换行符
正则替换
换行符
和把替换成
换行符
例子:str = str.replace(/\r\n/g,””);//把
换行符
替换成,注意:\r\n为正则表达式的快捷方式不能用/r/n或\/r\/n str = str.replace(/g,”\r\n”);//注意:/为正则表达式的保留字必须在前面用\转义 另外说明一点: /n或者是/r/n 或者是/r 都可能是
换行符
,要看你的系统是
windows
还是Unix/Linux或者是mac的系统另外用/s+在
windows
下也可以替换,但/s+还会匹配其他的字符的,不是安全的做法。 软件开发网补充: 在实际应用中,你
php去除
换行符
的方法小结(PHP_EOL变量的使用)
本来在unix世界换行就用/n来代替,但是
windows
为了体现他的不同,就用/r/n,更有意思的是在mac中用/r。因此unix系列用 /n,
windows
系列用 /r/n,mac用 /r,这样就用你写的程序在不同的平台上运行有着不少的麻烦
php代码中使用换行及(\n或\r\n和br)的应用
代码a: 复制代码 代码如下: <?php echo’hello’; echo’world!’; ?> output: helllo world! 代码b: 复制代码 代码如下: <?php echo’hello\n’;//unix系统使用\n;
windows
系统下\r\n echo’world!’; ?> output: helloworld! 分析:浏览器识别不了\n或\r\n,这两个
换行符
是文本
换行符
,文本文件有效;在网页中查看HTML源代码可以发现代码b成功实现了换行 总结:如果需要将结果输出到浏览器或打印到显示器,代码中使用;如果只是在源代码中换行,则使用\n
ffftp-2.00-src.zip
FFFTP上传下载工具, 安装环境:
Windows
10, 8.1, 8, 7, Vista, XP, 2000 通过该工具可将文件上传下载到linux,实现
换行符
的转换。
windows
和linux的文件的
换行符
不一样。\r\n→\n
C语言
70,012
社区成员
243,258
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章