`
weiruan85
  • 浏览: 385175 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

不同操作系统对文本文件“行结束符”的不同定义

阅读更多
\n是换行,英文是linefeed,ASCII码是0xA。
\r是回车,英文是carriage return ,ASCII码是0xD。

如果用过机械打字机,就知道回车和换行的区别了。。。
  换行就是把滚筒卷一格,不改变水平位置。  
  回车就是把水平位置复位,不卷动滚筒。


但是我们平时按得Enter到底是回车还是换行,不太清楚??
看到一种说法:windows下enter是 \n\r,unix下是\n,mac下是\r

在MS的系统中纯文本格式按一个回车键是输入了两个字符,一个回车一个换行。在LINUX系统中则只是一个回车。

Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<换行><回
车>”,即“\n\r”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在
Windows里打
开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。Linux和其它Unix类操作系统使用单个字符作为行结束符,这个字符通常被称作“换行符”(LF)或“新行”(NL)。

Dos,Windows和OS2使用两个字符作为行结束符,一个“回车”(CR)和一个LF。

Mac OS只使用一个CR。

有些Linux配置文件对行结束符规范很敏感,所以尽量不要试图从Dos,windows或Mac OS系统中编辑Linux系统的配置文件。

文章出处:http://www.diybl.com/course/3_program/c++/cppsl/20081117/151346.html
分享到:
评论
1 楼 tiger427 2010-11-02  
现在明白了,怪不得文本文件不兼容。原来如此

相关推荐

    一个原始文本文件的格式

    2. **行结束符**:不同的操作系统使用不同的行结束符。在Windows系统中,行结束使用“\r\n”组合,而在Unix/Linux及Mac OS X系统中,仅使用“\n”。原始文本文件在跨平台传输时,需要考虑到这些差异。 3. **文件...

    C语言中文件结束符、FEOF函数与文档编码的探讨.pdf

    在编写涉及文件读写操作的程序时,开发者需要对EOF的处理机制以及字符编码有深入的理解,这通常需要参考操作系统、编译器和库函数的具体实现。通过合理地使用C语言提供的文件操作函数,并注意编码方式的选择和处理,...

    UNIX回车换行与Windows下的区别

    然而,不同的操作系统在处理文本文件时,对换行符的定义和使用存在显著差异。 #### Windows系统中的换行符 在Windows系统中,文本文件的换行是由两个字符组成的序列来表示的:首先是回车(Carriage Return,CR),...

    matlab中使用文本文件(.txt)进行数据存取的技巧总结.docx

    在写入文本文件时,需要注意的是,Windows系统通常使用'\r\n'作为行结束符,而Linux和macOS系统只使用'\n'。如果在跨平台操作时未正确处理,可能会导致文件显示异常。 针对文本文件的读取,MATLAB提供了多种处理新...

    bulk insert 文本文件数据导入

    格式文件可以定义列数、列宽、数据类型以及特殊的字段和行终止符。 例如,如果你有一个名为`data.txt`的文件,其中数据以逗号分隔,你可以这样导入: ```sql BULK INSERT YourTable FROM 'C:\Data\data.txt' WITH ...

    文件操作系统管理数据的基本单位存储在外存储器上的数据的PPT学习教案.pptx

    文本文件由文本行构成,每行以换行符`\n`结束,文件末尾则有文件结束标志。相比之下,二进制文件按照数据在内存中的原始形式存储,效率更高,适合存储中间计算结果,但处理起来不如文本文件直观。 接着,引入了缓冲...

    linux文本转换程序-源代码

    在Linux和Windows操作系统之间交换文本文件时,可能会遇到编码不兼容的问题。这通常是由于Linux系统通常使用LF(Line Feed)作为行结束符,而Windows系统则使用CRLF(Carriage Return + Line Feed)作为行结束符。...

    回车和换行的区别 回车和换行的区别

    由于不同操作系统对行结束符的定义不同,这导致了在跨平台文件传输或共享时可能出现的兼容性问题。例如,一个在Windows系统上创建的文本文件,如果直接在Linux环境下打开,可能会看到每行结尾多出一个不可见的字符,...

    C语言文件操作快速上手手册

    文本视图适用于文本文件,它允许程序在读取和写入时做一些转换,如处理不同操作系统中换行符的差异。例如,在Windows系统中,一个换行通常由回车符和换行符的组合(\r\n)表示,而在Unix/Linux系统中仅使用换行符(\n)...

    009 文件操作70.pptx

    文件操作在计算机编程中扮演着至关重要的角色,它允许程序持久化存储数据,使得数据即使在程序结束或电源中断后仍然可访问。赵广辉老师的课程涵盖了文件操作的基础知识,包括文件的定义、作用、分类以及如何进行读写...

    操作系统培训教材XX1218.doc

    3.5小节的文件存取权限则会讲述如何设置对文件和目录的读、写、执行权限,以及所有者、组和其他用户的权限控制。 本教材通过这些章节,旨在帮助读者掌握UNIX操作系统的基本知识和技能,以便更好地利用这一强大的...

    操作系统实验(文件目录管理java实现).doc

    在这个名为“操作系统实验(文件目录管理java实现).doc”的实验中,主要目标是让学生深入理解和掌握文件目录管理的概念,以及文件系统的树形结构。实验通过Java编程语言来模拟实际的文件管理系统,让学生在实践中...

    计算机考试题库操作系统试题及答案.pdf

    - Windows操作系统:微软开发的一个图形界面操作系统,以Windows 98/2000等不同的版本出现,具有特定的系统文件和配置文件。 - DOS操作系统:一个基于文本的命令行操作系统,广泛用于个人计算机。配置文件包括Config...

    电大C语言程序设计文件PPT课件.ppt

    文件操作主要包括文件的打开、关闭以及对文件的不同访问方式。 1. **文件流**:在C语言中,文件操作分为标准I/O(涉及键盘和显示器)和文件I/O(涉及磁盘文件)。stdio.h头文件定义了FILE类型的结构体,用于表示...

    讲 pascal语言 文件 指针PPT学习教案.pptx

    行与行之间用行结束符分隔,最后一个文件结束标记表示文件结束。文本文件的打开模式分为读和写,不能同时进行,`rewrite`用于创建新文件或覆盖已有内容,`append`追加内容,而`reset`用于顺序读取。 操作文本文件的...

    AddLF_TheEndOfTheLine_AddsLF_

    综上所述,这个项目专注于文本处理,尤其是确保每一行以LF字符结束,从而提高文本文件在不同操作系统间的兼容性。开发者通过编写C++代码实现了这一功能,用户可以通过运行项目生成的可执行文件或集成到自己的程序中...

    C++文件读写操作

    * 如果在文件中读到0x1B,文本模式会认为这是文件结束符,也就是二进制模型不会对文件进行处理,而文本方式会按一定的方式对数据作相应的转换。 系统默认的是以文本模式打开,可以修改全部变量_fmode的值来修改这个...

    Java IO学习基础之读写文本文件

    `: 将读取到的一行文本写入目标文件,并添加换行符`\r\n`。 - `temp = br.readLine();`: 继续读取下一行。 4. **关闭资源**: - `bw.close();`: 关闭`BufferedWriter`对象。 - `br.close();`: 关闭`...

    ·····C语言使用到的文件

    例如,我们可以声明一个FILE *类型的变量并将其指向fopen()函数返回的文件指针,以实现对文件的操作。 打开与关闭文件是文件操作的基础。使用fopen()函数可以打开一个文件,该函数需要两个参数:文件路径和模式。...

Global site tag (gtag.js) - Google Analytics