Windows下怎么处理回车符号????

whatapig 2002-06-11 06:43:23
如下的代码:
FILE* fp = fopen("aaa","w+");
char a[] = {0x0a};
fwrite(a,1,1,fp);
fclose(fp);

写完文件中,aaa是个有两个字符的文件:
0x0d,0x0a

Windows总是把单个的0x0a字符写成0x0d,0x0a两个字符。
怎么解决这个问题??????
...全文
105 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
alang_xy 2002-06-12
  • 打赏
  • 举报
回复
当二进制写吧。
在windows平台下面,操作系统把文本文件中的"\n"当成两个字符,如果你只写入了一个,它会自动帮你插入完整的。

如,你用文方式只写入0x0a,它会“聪明”的帮你写入0x0d0x0a。

如果在unixt平台上就没有这个问题了,它的文本里面写什么就是什么。
knightsj 2002-06-12
  • 打赏
  • 举报
回复
嗯,楼上的说得对
HKer_007 2002-06-11
  • 打赏
  • 举报
回复
我也同意!
晨星 2002-06-11
  • 打赏
  • 举报
回复
同楼意上,^_^。
windows2008 2002-06-11
  • 打赏
  • 举报
回复
我觉得应该这样:
FILE* fp = fopen("aaa","wb"); 试试
coldcrane 2002-06-11
  • 打赏
  • 举报
回复
按二进制方式写文件!

FILE* fp = fopen("aaa","wb+"); //<<---
lanzhengpeng2 2002-06-11
  • 打赏
  • 举报
回复
难道DOS下不是?概念不清,打PP

70,037

社区成员

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

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