linux系统调用文件函数write()怎么往文件里写入换行

linux系统调用文件函数write()怎么往文件里写入换行,第1张

参考一下吧,

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。内容时每两秒向文件中写入当前时间

在Windows系统下编辑的文件,换行符回车的格式为'\r\n',在linux系统下,回车的格式为'\n',在Windows下编辑的文本文件在上传至linux服务器时,回车'\r\n'就显示成^M+'\n'。

用ultraedit或者notepad plus都有相应的选项可以将Windows下的文本格式文件转换成unix格式文件。比如:notepad plus中“编辑”—>“档案格式转换”—>“转换为UNIX格式”。

第一种方法:

cat -A filename 就可以看到Windows下的断元字符 ^M,要去除他,最简单用下面的命令:

第二种方法:^M 输入方法: ctrl+V ,enter

第三种方法: ^M 输入方法: ctrl+V ,enter

使用vi 进行编辑

第四种方法:^M 可用 \r 代替

简单点的方法是,在notepad++中打开,

在保存就好了。

有时在linux的文件中输入了中文,并且是以中文为行结尾的,这时再在windows的R中入去时可能报错

也就是说在windows下它是变成了一行,修改办法是使用notepad++打开

如果需要在R中直接读取文件的话,需要在read.table中添加 fileEncoding="UTF-8" 这个参数

*nux中换行符只有一个:'\n',在ftp中,以文本方式传送文件时你必须自己负责进行windows中的"\r\n"与unix中的"\n"转换,当然你可以用SYST取得系统类型,如果是一样的就用不着转换,如果系统类型不一样,就需要转换,不然unix下的文本文件到windows中就不对劲了,同样你用binary方式把windows中的文本文件拿到unix下用vi看也不对劲,当然vi中可以有指令set ff=dos或set ff=unix来进行转换


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

原文地址:https://54852.com/yw/8996384.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存