输出到.txt文件换行注意点

输出到.txt文件换行注意点,第1张

不同的 *** 作系统,换行符不统一。

windows -> /r/n

linux/unix -> /r

mac-> /n

本想着使用BufferedWriter中的newline()进行统一换行,其API解释为:“Writes a line separator. The line separator string is defined by the system property line.separator, and is not necessarily a single newline ('\n') character.”

会根据系统的换行符来换行,OK,满足我要求。但是有问题出现了:

如果我在Linux环境下写入换行(换行符:/r),那在windows下打开该.txt文件,则/r不会被解析为换行。

所以,我们在开发时候,如果需要指定文件在某些地方换行,则不能使用 newline 方法。必须手动指定换行符:\r\n 因为按照上面列举的不同系统换行符看,如果字符串的末尾是 \r\n 在三个系统中,查看该文件,都会解释为换行。

在C和C++中,使用的文件 *** 作方式不同,读写换行也有所区别。

一、C语言。

在C语言中,以fopen打开文件,返回值为文件指针FILE*型。可以以如下方式读写换行:

1、 fgetc/fputc

该组函数功能为读写单个字符,如ch=fgetc(fp)fputc(ch, fp)

2 fscanf/fprintf

格式化输入输出函数。 以%c格式时,可以读写换行。如

fscanf(fp, "%c",&ch)

fprintf(fp,"%c",ch)

二、C++语言。

在C++中,也可以使用C语言的fopen方式,但更常用的是使用iostream对象。当以iostream对象打开时,可以通过对象进行读写换行的 *** 作。

如对象名为file。

1、写入换行:

file<<'\n'

或者

file<<endl

2、读取换行:

ch=file.get()

或者

file.get(ch)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11887808.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存