现在用EVM6678L开发板,想从计算机中读取.dat文件,使用函数fopen,.data文件存放在工程目录下
FILE *fp;
if((fp = fopen("data.dat","r"))!=NULL)
{
printf("Open succeed!\n");
}
调试发现fopen函数的返回值总是NULL,数据打开不成功,请问这是什么原因?
Adam Yao94020:
可以检查一下下面两个地方
(1) 有没有 #include "stdio.h"
(2) 文件路径对不对,data.dat必须和工程在同一个目录下才能被你现在的代码打开,
可以试下用绝对路径,能否打开,如"D:\\aa\\2.txt";
Rui Guo:
回复 Adam Yao94020:
确实包含 #include "stdio.h",指定.dat文件的详细路径打开成功,我在使用 memory browser中"Load Memory"时,对.bin文件load没有问题,但是在某些.dat 文件中遇到如下图中的错误,应如何解决?
多谢
Adam Yao94020:
回复 Rui Guo:
Load memory可以使用的文件格式有特殊文件,对于.dat文件
必须有一个文件头
1651 1 86e000 0 3e8
1651 1是特定标志,86e000是Load的地址,3e8是数据长度
检查一下你的文件有没有这样的一个头