|
|
- [原创]Vxworks中的fopen
作者:comman 时间:2008-9-11 11:25:00
小弟刚接触Vxworks,使用Tornaldo开发环境。
fopen函数总执行失败:
#include <stdio.h>
int main()
{
char buff[10]="";
FILE *fp=NULL;
fp = fopen("ssm.txt","rb");
if(fp==NULL)
{
printf("file open fail\n");
return 0;
}
fread(buff,4,1,fp);
printf("%s\n",buff);
printf("Hello\n");
fclose(fp);
return 0;
}
其中"ssm.txt"是我在工程目录下创建的一个文件。
执行的结果是打印"file open fail",同样的代码在VC下能够正常运行。 使用绝对路径也不行。
这是怎么回事?
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
作者:MyForever 时间:2008-9-11 21:52:36
[code]
#include <stdio.h>
int test()
{
char buff[10]="";
FILE *fp=NULL;
fp = fopen("/tffs0/ssm.txt","rb");
if(fp==NULL)
{
printf("file open failed\n");
return 0;
}
fread(buff,4,1,fp);
printf("%s\n",buff);
printf("Hello\n");
fclose(fp);
return 0;
}
[/code]
结果:
-> test
1234
Hello
value = 0 = 0x0
->
/tffs0/ssm.txt的内容:
1234567890
abcdefghijklmnopqrstuvwxyz
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
作者:comman 时间:2008-9-11 15:52:59
看来是路径问题。
改为fp = fopen("host:/D:/tornado2.2/target/proj/FileTest/ssm.txt","rb");还是失败。
这个路径应该如何设置?
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
作者:maomaotr 时间:2008-9-11 13:21:46
vxworks打开是需要路径的!
最好是设备自己的路径,比如说tffs,host
fp = fopen("/tffs0/ssm.txt","rb"); /tffs0/相当于磁盘。
host应该也可以的,没有试过。HOST就是主机。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|