输出到.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 在三个系统中,查看该文件,都会解释为换行。

Linux下可以用sed命令向文件中追加内容

案例:把/etc/test1文件中1-10行内容写入到test2中

sed -n '1,10'p /etc/test1 >>test2

#将file1的1-10行追加到file2

sed命令行格式为:

sed [-nefri] ‘command’ 输入文本

常用选项:

-n∶使用安静(silent)模式;

-e∶直接在指令列模式上进行 sed 的动作编辑;

-f∶直接将 sed 的动作写在一个档案内;

-r∶sed 的动作支援的是延伸型正规表示法的语法;

-i∶直接修改读取的档案内容,而不是由萤幕输出。      

参考一下吧,

strcat(buf,"\n")

将你要写的数据放在buf中,利用strcat函数在后面拼接上换行符\n

int fd=open("/home/wang/time.log",O_CREAT|O_RDWR,0666)

打开(创建)你要 *** 作的文件

write(fd,buf,sizeof(buf))

向文件中写入数据

下面是我创建的守护进程打印的日志文件信息,文件为time.log。内容时每两秒向文件中写入当前时间


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

原文地址: https://www.outofmemory.cn/yw/8448637.html

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

发表评论

登录后才能评论

评论列表(0条)

保存