如何在txt中写入换行符(0A)

zhuy754 2009-06-18 05:44:40
fprintf(fp,"\n");
本来是想写入换行符,即在内存中为0A,但使用上面的语句后,内存中为0D0A,多了个回车
用什么方法可以只写入换行符?谢谢!























...全文
2463 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
linren 2009-06-18
  • 打赏
  • 举报
回复
用二进制写文件时“\n”也是写成0A的
不会有0D的出现
最大只能3连(泪~)
ofcourseqi 2009-06-18
  • 打赏
  • 举报
回复
用二进制方式打开文件,然后直接写入0x0A !
或者char a=0x0A;然后再将a写入。还是要用二进制打开文件!
如果用文本方式打开,会自动给你加上0D的,因为是在windows下。
linren 2009-06-18
  • 打赏
  • 举报
回复
#include <stdio.h>

void main()
{
FILE *fp;
fp=fopen("123.txt","wb+");
fprintf(fp,"abc\012efg");
fclose(fp);
}
用二进制的方式打开文件
可以写入0A
linren 2009-06-18
  • 打赏
  • 举报
回复
对不起……
刚才试了一下发现“\012”也是不行的……
还是会转成“\r\n”(0D0A)
linren 2009-06-18
  • 打赏
  • 举报
回复
把“\n”换成“\012”
zhuy754 2009-06-18
  • 打赏
  • 举报
回复
对,在windows下,那看来那文件的格式要求是在unix下了,谢了
zqlclj 2009-06-18
  • 打赏
  • 举报
回复
太乙 2009-06-18
  • 打赏
  • 举报
回复
直接用0x0A不行么?
hacker1125 2009-06-18
  • 打赏
  • 举报
回复
多个\不就可以转义了吗?
光宇广贞 2009-06-18
  • 打赏
  • 举报
回复
printf 函数会加上 \r 成为 \r\n
nosxcy 2009-06-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lingyin55 的回复:]
在windows下?
windows的换行就是0x0D 0x0A
unix下的是0x0A
[/Quote]
ding
lingyin55 2009-06-18
  • 打赏
  • 举报
回复
在windows下?
windows的换行就是0x0D 0x0A
unix下的是0x0A

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧