各系统中的换行究竟是怎样的

软件和网站开发以及相关技术探讨
回复
凌云七风
帖子: 130
注册时间: 2012-01-16 13:37

各系统中的换行究竟是怎样的

#1

帖子 凌云七风 » 2012-03-16 21:24

网上说Windows是“\r\n”,Linux是"\n"。
今天测试一下,正好相反。
求高手解释。
感谢3楼提醒。
上次由 凌云七风 在 2012-03-17 16:55,总共编辑 1 次。
头像
月下叹逍遥
论坛版主
帖子: 33994
注册时间: 2010-10-07 14:23
系统: Archdows10
来自: 某系某星某洲某国某省某市
联系:

Re: 各系统中的换行究竟是怎样的

#2

帖子 月下叹逍遥 » 2012-03-16 21:27

标准的C都是/n
浮生七十今三十,从此凄惶未可知
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 各系统中的换行究竟是怎样的

#3

帖子 自由建客 » 2012-03-16 22:01

「\r\n」!失之毫厘,谬以千里!你怎么测试的?
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: 各系统中的换行究竟是怎样的

#4

帖子 枫叶饭团 » 2012-03-16 22:07

python里都是\n
凌云七风
帖子: 130
注册时间: 2012-01-16 13:37

Re: 各系统中的换行究竟是怎样的

#5

帖子 凌云七风 » 2012-03-17 16:56

我是在两系统中分别读入一个文本文件,然后打印读入的每个字符的值。
Windows中只有10。Linux中是13和10。
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 各系统中的换行究竟是怎样的

#6

帖子 自由建客 » 2012-03-17 17:01

Linux 的文本编辑器通常会在文件最后多加一个换行符,保证新行结尾。
相差三个字符应该是有你没注意到的行尾空格,或者用了中文等非 ASCII 字符!
用十六进制编辑器你就会看得很明白了!
再有,C 库打开文本文件和二进制文件是有区别的!
凌云七风
帖子: 130
注册时间: 2012-01-16 13:37

Re: 各系统中的换行究竟是怎样的

#7

帖子 凌云七风 » 2012-03-17 18:00

10是\n,13是\r,32是空格。
绝无中文字符。
多行测试数据。
Linux下使用gedit编辑,Windows下使用记事本。
sarrow
帖子: 403
注册时间: 2007-10-27 1:04

Re: 各系统中的换行究竟是怎样的

#8

帖子 sarrow » 2012-03-18 20:46

借用某人的话:“无代码,无真像”。
头像
xw_y_am
帖子: 3333
注册时间: 2009-05-08 14:18
系统: Arch
来自: 河南新乡
联系:

Re: 各系统中的换行究竟是怎样的

#9

帖子 xw_y_am » 2012-03-18 20:53

分别保存成各种结尾形式的文件
然后用 十六进制编辑器 打开就一目了然了。。。
Linux 相关链接大杂烩

代码: 全选

if(read) {
    if(practise) return g☘☘d;
    else return w☘☘d;
} else {
    return t☘☘d;
}
回复