首页
社区
课程
招聘
[求助]win7下文件开发问题.求教。
发表于: 2013-3-25 15:38 5531

[求助]win7下文件开发问题.求教。

2013-3-25 15:38
5531
Win7下用fwrite在wb模式下写的文件虽只有几十字节,但最后的文件出来,有1KB大。这是怎么回事?如果这样是常态,那么基于文件业务格式,对文件长度的判断貌似失去意义。这种情况下,如何判断呢?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 1852
活跃值: (1821)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
2
不可能,一定是你写错了。
2013-3-25 16:02
0
雪    币: 351
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
winhex对比下就明白了 估计是一串的CD
2013-3-25 16:06
0
雪    币: 124
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
和ntfs文件系统有关
2013-3-25 16:44
0
雪    币: 213
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
什么意思?多说几句好吗???
2013-3-25 16:48
0
雪    币: 351
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
size_t fwrite(
   const void* buffer,
   size_t size,
   size_t count,
   FILE* stream
);
Parameters
buffer
Pointer to data to be written.
size
Item size in bytes.
count
Maximum number of items to be written.
stream
Pointer to FILE structure.
Return Values
fwrite returns the number of full items actually written, which might be less than count if an error occurs. Also, if an error occurs, the file-position indicator cannot be determined.

你看下返回值是多少 然后再用winhex看下实际写了多少 进行对比分析 问题一般就可以解决了
2013-3-25 16:59
0
雪    币: 2155
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
你打开文件看一下不就知道了。。。

你用WinHex打开看一下你的文件里都有什么内容?
如果除了你写入的数据之外还有其他多余的数据出现在文件中,说明你写入操作不对。。。
如果打开后发现和你写入的数据一样,那就说明你取文件大小的方法不对。。。

总之不要怀疑win7有问题,肯定是你哪一步有问题。。。要不然这样的系统会还敢用啊。。。
2013-3-25 17:04
0
雪    币: 213
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我上传了截图.貌似0xCCCC88FF开始的以后都不是我写入的。
上传的附件:
2013-3-25 17:09
0
雪    币: 351
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
可能性:
1.结束符的问题
2.溢出
2013-3-25 17:17
0
雪    币: 2155
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
我感觉你还是把你的代码帖上来吧。。。
2013-3-25 17:35
0
雪    币: 8201
活跃值: (2706)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
给你一页纸,写一个字也占了一页
2013-3-25 18:32
0
雪    币: 213
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我用CreateFile、WriteFile得到的文件就只有32字节。最后两个字节是0xCC.

但使用fopen、fwrite、fclose,就被加了很多字节的填充,被填满了,整个文件1024字节。
2013-3-25 19:12
0
雪    币: 30
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
跟进fwrite看就知道了 fread fwrite 是对 readfile writefile 的封装!1

windows平台
2013-3-29 15:01
0
游客
登录 | 注册 方可回帖
返回
//