在wince里面用fwrite保存数组数据总是出现多余字节?

yerenhjy 2008-12-18 10:57:54
在wince里头用EVC编写了一个采集数据的程序,保存在一个unsigned char pR_Data[4096];的数组里面。
我的数据是有规律的,每隔4个字节为一个0x00,也就是说pR_Data[0]=[4]=[8]=...=0x00,通过这个我可以很方便地看出数据的正确与否。

现在我已经将数据采集并存在这个数组里面了,用断点跟踪查看这个变量,数据是正确的,然后用下面这几个语句保存成文件。

在将文件从ARM里头拷到电脑里处理的时候却总是发现保存的文件有问题,总是会有0x1002,或者0x1003不等地多出几个字节,而且字节可能分布在文件中间的某个地方,导致我的数据完全错位,很是郁闷。

不知道我啰啰嗦嗦说清楚了没有?请各位帮忙看看下面这个写文件的语句,可能是哪里出错呢?不胜感激。。

if (!fseek (fp, 0, SEEK_SET))
{
int x = fwrite(pR_Data, 1, 0x1000, fp);
if(x != 0x1000)
MessageBox(NULL,_T("Write error!"),MB_OK);;
}
fclose (fp);
...全文
62 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yerenhjy 2008-12-18
  • 打赏
  • 举报
回复
哦,我原来用的是
FILE *fp = fopen(path, "w");

刚刚试了一下,改为“wb+”,真的就好了。。

呵呵,谢谢哈!结贴去了。
navi_dx 2008-12-18
  • 打赏
  • 举报
回复
如果是二进制文件,打开文件时要指明二进制文件 "wb" 或者 "ab" "rb+" "wb+"
里面都是我新手时期学C的时候整理的一些TXT文档,因为分不够了,所以放上来赚点积分,都是很基础的东西,里面的代码都是经过我测试的,保证可用。 (1)输出Hello,world (2)标识符 (3)常量与变量 (4)整型数据 (5)实型数据 (6)复合赋值表达式 (7)自加自减运算符和逗号表达式 (8)顺序结构及数据输出 (9)数据输入 (10)作业练习一 (11)关系运算符和逻辑运算符 (12)选择结构及条件表达式 (13)循环结构,while语句 (14)循环结构,do while语句 (15)循环结构,for语句 (16)字符型数据 (17)字符型数据实例,作业练习二 (18)函数定义 (19)函数应用实例,作业练习三 (20)指针的定义 (21)函数之间地址值的传递 (22)函数返回地址值 (23)一维数组的定义 (24)一维数组应用实例 (25)一维数组应用实例(2) (26)一维数组应用实例(3) (27)二维数组的定义 (28)二维数组的初始化 (29)二维数组与指针 (30)二维数组应用实例 (31)二维数组应用实例(2) (32)用一维数组来存储字符串 (33)字符串的输入与输出 (34)字符串数组 (35)用于字符串处理的函数 (36)字符串应用实例 (37)传给Main函数的参数 (38)函数指针 (39)函数的递归调用 (40)变量作用域和存储类别 (41)编译预处理和不带参数的宏替换 (42)带参数的宏替换和文件包含 (43)动态存储分配 (44)结构体变量的定义与引用 (45)利用结构体变量构成静态链表 (46)利用结构体变量构成动态链表 (47)共用体的定义与应用 (48)位运算符 (49)File文件的数据输出操作 (50)File文件的数据输入操作 (51)判断文件结束函数 (52)fscanf和fprintf函数 (53)fgets和fputs函数 (54)fread和fwrite函数 (55)文件定位函数 c switch的用法 c 避免调试窗口闪退 c 弹出消息窗口 c 等待函数(sleep) c 定义类成员 c 动态分配内存法定义数组 c 返回二维数组 c 方向键键码 c 改变字体颜色 c 绘制图形 c 获得鼠标当前位置坐标 c 检测键盘按键 c 检测鼠标按下事件 c 将整数转换成二进制数并存放到数组中 c 结构体问题 c 使用winsock实现server和client(通讯程序) c 随机数发生器 c 图形模式详解 c 网页爬虫 c 写图形界面 c 遗传算法实例 c 在图形界面输出文字 c# List的用法 VS2010如何解决每次编译都要重新生成
C语言之基础 1) C语言之简介 2) C语言之搭建开发环境 3) C语言之第一个简单程序的结构详解 4) C语言之书写规范和注释 5) C语言之数据类型 字符串和格式化输入输出 6) C语言之使用字符串 7) C语言之格式化输出 8) C语言之格式化输入 9) C语言之格式化输入输出整理 10) C语言之基本运算符 11) C语言之其他运算符 12) C语言之表达式和语句 循环语句 13) C语言之while循环语句 14) C语言之do-while循环语句 15) C语言之for循环语句 16) C语言之使用关系运算符和表达式 17) C语言之赋值运算+=、-=、*=、/=、%= 18) C语言之循环嵌套 分支跳转 19) C语言之分支和跳转 if 20) C语言之分支和跳转 if-else 21) C语言之条件运算符 ?: 22) C语言之循环辅助手段:continue 和 break 23) C语言之分支和跳转 switch和break 24) C语言之分支和跳转 goto语句 25) C语言之字符输入/输出和输入确认 指针 26) C语言之初识指针 27) C语言之指针的简单用法 28) C语言之字符串指针详解 数组 29) C语言之定义数组 30) C语言之一维数组的使用 31) C语言之二维数组和多维数组 32) C语言之指向数组的指针 33) C语言之保护数组内容const的使用 34) C语言之指向多维数组的指针 函数 35) C语言之函数的定义和调用 36) C语言之定义带参数的函数 37) C语言之函数之形参和实参 38) C语言之函数之返回值和函数类型 39) C语言之指针做函数参数 40) C语言之数组做函数参数 41)c语言之递归 字符串和字符串函数 42)c语言之字符串I/O 43) C语言之字符串输入/输出 44) C语言之字符串处理函数 文件操作 45) C语言之文件是什么 46) C语言之用fopen() 打开文件,关闭文件 fclose() 47) C语言之getc() 和 putc 读写文件 48) C语言之文件结尾 49) C语言之fgets() 和 fputs() 50) C语言之文件内部指针 51) C语言之rewind() 52) C语言之随机存取 fseek() 和 ftell() 函数 53) C语言之fsetpos和fgetpos 54) C语言之fread() 和 fwrite() 函数 结构体和其他数据形式 55) C语言之结构体的定义和初始化 56) C语言之访问结构体成员 57) C语言之结构数组 58) C语言之结构体指针 59) C语言之结构体做函数参数 60) C语言之把结构体保存到文件 已更新至此 61)C语言之联合简介 62)C语言之枚举类型 63)C语言之函数和指针 位操作 64) C语言之二进制、位和字节 65)C语言之位运算 66)C语言之打开位 67) C语言之转置位及查看位 68) C语言之左移右移(大结局)
本套教程免费获取地址:www.zixue7.com C语言之基础 1) C语言之简介 2) C语言之搭建开发环境 3) C语言之第一个简单程序的结构详解 4) C语言之书写规范和注释 5) C语言之数据类型 字符串和格式化输入输出 6) C语言之使用字符串 7) C语言之格式化输出 8) C语言之格式化输入 9) C语言之格式化输入输出整理 10) C语言之基本运算符 11) C语言之其他运算符 12) C语言之表达式和语句 循环语句 13) C语言之while循环语句 14) C语言之do-while循环语句 15) C语言之for循环语句 16) C语言之使用关系运算符和表达式 17) C语言之赋值运算+=、-=、*=、/=、%= 18) C语言之循环嵌套 分支跳转 19) C语言之分支和跳转 if 20) C语言之分支和跳转 if-else 21) C语言之条件运算符 if-elseif 和 ?: 22) C语言之循环辅助手段:continue和 break 23) C语言之分支和跳转 switch和break 24) C语言之分支和跳转 goto语句 25) C语言之字符输入/输出和输入确认 指针 26) C语言之初识指针 27) C语言之指针的简单用法 28) C语言之字符串指针详解 数组 29) C语言之定义数组 30) C语言之一维数组的使用 31) C语言之二维数组和多维数组 32) C语言之指向数组的指针 33) C语言之保护数组内容const的使用 34) C语言之指向多维数组的指针 函数 35) C语言之函数的定义和调用 36) C语言之定义带参数的函数 37) C语言之函数之形参和实参 38) C语言之函数之返回值和函数类型 39) C语言之指针做函数参数 40) C语言之数组做函数参数 41) C语言之函数之递归详解 字符串和字符串函数 42) C语言之字符串表示和字符串I/O 43) C语言之字符串输入/输出 44) C语言之字符串处理函数 操作文件 45) C语言之文件是什么 46) C语言之用fopen() 打开文件,关闭文件 fclose() 47) C语言之getc() 和 putc 读写文件 48) C语言之文件结尾 49) C语言之fgets() 和 fputs() 50) C语言之文件内部指针 51) C语言之rewind() 52) C语言之随机存取 fseek()和 ftell() 函数 53) C语言之fsetpos和fgetpos 54) C语言之fread() 和 fwrite() 函数 结构体和其他数据形式 55) C语言之结构体的定义和初始化 56) C语言之访问结构体成员 57) C语言之结构数组 58) C语言之结构体指针 59) C语言之结构体做函数参数 60) C语言之把结构体保存到文件 61) C语言之联合简介 62) C语言之枚举类型 63) C语言之函数和指针 位操作 64) C语言之二进制、位和字节 65) C语言之位运算 66) C语言之打开位 67) C语言之转置位及查看位 68) C语言之左移右移(大结局)

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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