C操作文件的问题,关于fwrite

hnsongjj 2009-03-09 04:43:43
我有一段3des的代码,把源文本文件逐8字节读入,加密,再放到目标文件中
目前,8字节加密是没错的,可是有两个段之间,目标文件中多了 0x0D,也就是13,回车键,



只多了一个,我看了代码,没地方加啊,怎么搞出来的?应该怎么去掉?

多谢指教了~~!
...全文
190 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
fopen( "filename" , "wb" );
aozhi 2009-03-12
  • 打赏
  • 举报
回复
fopen( "filename" , "w" );不对
fopen( "filename" , "wb" );对
品茶 2009-03-12
  • 打赏
  • 举报
回复
加密计算后得到的
建议修改加密码
candy110 2009-03-12
  • 打赏
  • 举报
回复
windows下要用二进制的方式打开.
要不会自动转换,以前写记事本的时候发现的.
caodaxia 2009-03-12
  • 打赏
  • 举报
回复
学习了
hoomien 2009-03-10
  • 打赏
  • 举报
回复
不了解!帮顶!
jyh_baoding 2009-03-10
  • 打赏
  • 举报
回复
可能是系统多写的
yangch_nhcmo 2009-03-09
  • 打赏
  • 举报
回复
按LS各位说的用二进制读写看看
lingyin55 2009-03-09
  • 打赏
  • 举报
回复
友情up
Proteas 2009-03-09
  • 打赏
  • 举报
回复
用二进制方式读写吧。特别是数据文件。
zhkefa 2009-03-09
  • 打赏
  • 举报
回复
在C程序下以文本格式打开一个文件,\n\r会转化为一个字符\n,当写入文本文件的时候,又会重新转换回去,即\n转化为\n\r,但是写入一个二进制文件时,就会直接写入\n。如果在MS-DOS下以二进制格式打开一个文件,读出来就是\n\r,如果写入的是文本文件就会解析为\nr\\r,写入二进制格式文件就保持原来。

百度下就有。
hylove9494 2009-03-09
  • 打赏
  • 举报
回复
打开文件方式

file = fopen(filename, 'wb');
xmrforever 2009-03-09
  • 打赏
  • 举报
回复
mark
chaojiew 2009-03-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dongpy 的回复:]
Windows平台一定要用二进制方式打开文件,否则写文件时会有多余的0x0D字节。
[/Quote]为什么会这样
dongpy 2009-03-09
  • 打赏
  • 举报
回复
若不用二进制方式打开,写0xA时,实际会写入0x0D0A,即多了0xD字节。
dongpy 2009-03-09
  • 打赏
  • 举报
回复
Windows平台一定要用二进制方式打开文件,否则写文件时会有多余的0x0D字节。
sagegz 2009-03-09
  • 打赏
  • 举报
回复
友情UP~!
  • 打赏
  • 举报
回复
fopen( "filename" , "wb" );打开文件的时候一定要加上 二进制模式
  • 打赏
  • 举报
回复
这种事情,你得贴代码,看你是怎么写的。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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