百度复制 - 换行符等解释说明

本文详细解释了在不同的操作系统(如Unix、Windows和Mac OS)中使用的文本文件换行符的区别,包括CR(回车)、LF(换行)和它们的组合使用,并探讨了这些区别如何影响跨平台文件的兼容性。
'\r'是回车,前者使光标到行首,(carriage return) (CR)
'\n'是换行,后者使光标下移一格,(line feed)(LF)

\r 是回车,return
\n 是换行,newline

对于换行这个动作,unix下一般只有一个0x0A表示换行("\n"),windows下一般都是0x0D和0x0A两个字符("\r\n"),苹果机(MAC OS系统)则采用回车符CR表示下一行(\r)

Unix系统里,每行结尾只有“<换行>”,即“\n”;
Windows系统里面,每行结尾是“<回车><换行>”,即“\r\n”;
Mac系统里,每行结尾是“<回车>”,即“\r”。

一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix下打开的话,在每行的结尾会多车一个^M字符。
Dos和windows采用回车+换行CR/LF表示下一行,即^M$($不是换行符的表示,换行符没有表示出来,$是文本结束EOF的表示)
而UNIX/Linux采用换行符LF表示下一行,即\n
苹果机(MAC OS系统)则采用回车符CR表示下一行,即\r

CR用符号'\r'表示, 十进制ASCII代码是13, 十六进制代码为0x0D;
LF使用'\n'符号表示, ASCII代码是10, 十六制为0x0A. 所以Windows平台上换行在文本文件中是使用 0d 0a 两个字节表示, 而UNIX和苹果平台上换行则是使用0a或0d一个字节表示.

由于dos风格的换行使用\r\n,把这样的文件上传到unix,有些版本的vi不能识别\r,所以vi显示时在行尾会出现^M出来,但是有些就能识别\r\n,正常显示回车换行。

转载于:https://www.cnblogs.com/JaneBlog/p/7511481.html

小明同学最近新购置了电脑,想和其他同学玩CS,但是建了局域网游戏之后,别人加不进来,自己也进不了别人的主机,非常苦恼。于是来请教同宿舍的“科技怪人”小犀,小犀说了句“你的IP和我们不在同一个子网”就闪了,小明百度了一下,搜到如下关于“子网掩码”的信息:子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网里面,可以进行直接的通讯。 运算演示之一: IP 地址  192.168.0.1 子网掩码  255.255.255.0 转化为二进制进行运算: IP 地址 11010000.10101000.00000000.00000001 子网掩码 11111111.11111111.11111111.00000000 AND运算 11010000.10101000.00000000.00000000 转化为十进制后为:       192.168.0.0 运算演示之二: IP 地址  192.168.0.254 子网掩码  255.255.255.0 转化为二进制进行运算: IP 地址 11010000.10101000.00000000.11111110 子网掩码 11111111.11111111.11111111.00000000 AND运算  11010000.10101000.00000000.00000000 转化为十进制后为:       192.168.0.0 运算演示之三: IP 地址  192.168.0.4 子网掩码  255.255.255.0 转化为二进制进行运算: IP 地址 11010000.10101000.00000000.00000100 子网掩码 11111111.11111111.11111111.00000000 AND运算  11010000.10101000.00000000.00000000 转化为十进制后为:       192.168.0.0 通过以上对三组计算机IP地址与子网掩码的AND运算后,我们可以看到它运算结果是一样的。均为192.168.0.0 所以计算机就会把这三台计算机视为是同一子网。 小明灵机一动,打算做一个帮助大家解决局域网游戏问题的工具,设想如下: 我知道我的电脑的IP和子网掩码,又知道另外几个同学的ip地址,通过这个工具就可以知道我可以和谁一起CS。 IP寻址规则: A.网络标识不能以数值127开头(以127开头的地址为特殊地址,比如127.0.0.1是loopback IP) B.网络标识第一个字节不能是255和0 C.IP每个字段不能大于255 子网掩码: A. 不能全部是255; B. 不能全部是0; C. 掩码的高位(bit)必须是连续的1; 例如 : 255.255.252.0 —> 11111111.11111111.11111100.00000000 按照Bit来看1和0的位必须是连续的, 而掩码高位都是1,所以有时候会见到 错误 : 255.255.253.0 —> 11111111.11111111.11111101.00000000 这里就出现bit为1但没有连续的情况, 这种掩码是不正确的 解答要求 时间限制:1000ms, 内存限制:100MB 输入 第一行是我的电脑的IP地址 第二行是我的电脑的子网掩码 第三行整数N,表示后面N个同学的IP地址 第1个同学的IP地址 …… 第N个同学的IP地址 输出 计算并输出N个IP地址是否与我的电脑在同一子网内。 对于在同一子网的输出:let's rock 对于在不同子网的输出:not you 对于无效的联网IP输出:Invalid IP address. 对于无效的子网掩码:Invalid netmask address. 样例 输入样例 1 复制 192.168.0.1 255.255.255.0 3 192.168.0.2 192.168.0.200 192.168.2.2 输出样例 1 let's rock let's rock not you 提示样例 1 输入样例 2 复制 10.144.240.73 255.252.253.0 输出样例 2 Invalid netmask address. 提示样例 2 输入样例 3 复制 10.144.240.256 输出样例 3 Invalid IP address. 提示样例 3 输入样例 4 复制 192.168.29.1 255.255.255.0 2 127.0.0.1 192.168.29.100 输出样例 4 Invalid IP address. let's rock用C语言给出该题的解题
最新发布
06-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值