C语言学习及复习笔记-【13】不同操作系统的换行问题

文章讲述了不同操作系统如Windows、Unix和Mac中换行符的差异,包括回车符 和换行符 的使用。Windows使用 ,Unix和较新版本的Mac使用 ,而旧版Mac使用 。这种差异可能导致文件在不同系统间打开时格式混乱。为了解决问题,存在如unix2dos和dos2unix等转换工具,以及FTP的ASCII模式自动转换。
摘要由CSDN通过智能技术生成

13 不同操作系统的换行问题

Windows、Unix、Mac不同操作系统的换行问题 回车符\r和换行符\n

一、概念:

换行符‘\n’回车符‘\r’

  1. 换行符就是另起一行 — ‘\n’ 10 换行(newline)

  2. 回车符就是回到一行的开头 — ‘\r’ 13 回车(return)

所以我们平时编写文件的回车符应该确切来说叫做回车换行符

CR: 回车(Carriage Return) \rLF: 换行(Line Feed) \n

二、应用:

  1. 在微软的MS-DOS和Windows中,使用“回车CR(‘\r’)”和“换行LF(‘\n’)”两个字符作为换行符;

  2. Windows系统里面,每行结尾是 回车+换行(CR+LF),即“\r\n”;

  3. Unix系统里,每行结尾只有 换行LF,即“\n”;

  4. Mac系统里,每行结尾是 回车CR 即’\r’。

Mac OS 9 以及之前的系统的换行符是 CR,从 Mac OS X (后来改名为“OS X”)开始的换行符是 LF即‘\n’,和Unix/Linux统一了。

三、影响:

  1. 一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;

  2. 而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个**^M**符号。

  3. Linux保存的文件在windows上用记事本看的话会出现黑点。

四、可以相互转换:

在linux下,命令unix2dos 是把linux文件格式转换成windows文件格式,命令dos2unix 是把windows格式转换成linux文件格式。

在不同平台间使用FTP软件传送文件时, 在ascii文本模式传输模式下, 一些FTP客户端程序会自动对换行格式进行转换. 经过这种传输的文件字节数可能会发生变化.

如果你不想ftp修改原文件, 可以使用bin模式(二进制模式)传输文本。

一个程序在windows上运行就生成CR/LF换行格式的文本文件,而在Linux上运行就生成LF格式换行的文本文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文斗士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值