vxworks下文件读写的问题

szjapple 2008-08-01 09:08:19
我想shell下用创建个文件,结果出现如下情况,请各位帮我分析下什么原因。
谢谢!

-> fp=fopen("host:d:/myfile","w")
new symbol "fp" added to symbol table.
fp = 0x491efcc: value = 78637496 = 0x4afe9b8
-> fprintf(fd,"kdkfdjk")

Exception number 0: Task: 0x4aec960 (t3)

General Protection Fault
Program Counter: 0x0040f042
Status Register: 0x00010297

42759b _vxTaskEntry +47 : 415c68 (4afea08, 491efc4, 0, 0, 0, 0, 0, 0, 0, 0)
415cc1 _wdbFuncCallLibInit+b1 : _fprintf (0, 491efc4, 0, 0, 0, 0, 0, 0, 0, 0)
value = 0 = 0x0
-> fclose(fp)
value = 0 = 0x0
->



...全文
809 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
szjapple 2008-08-06
  • 打赏
  • 举报
回复
这样应该算写进去了,但是我找不到文件在哪。“d:/test”根本不存在啊
szjapple 2008-08-06
  • 打赏
  • 举报
回复
-> fp=fopen("host:d:/test","w+")
new symbol "fp" added to symbol table.
fp = 0x489efe0: value = 78113208 = 0x4a7e9b8
-> iosFdShow
fd name drv
3 /tyCo/0 1
4 /vio/1 4
5 host:d:/test 3value = 0 = 0x0
-> fprintf(fp,"hello")
value = 5 = 0x5
-> iosFdShow
fd name drv
3 /tyCo/0 1
4 /vio/1 4
5 host:d:/test 3value = 0 = 0x0
-> fclose(fp)
value = -1 = 0xffffffff-> iosFdShow
fd name drv
3 /tyCo/0 1
4 /vio/1 4
value = 0 = 0x0
->
土豆 2008-08-06
  • 打赏
  • 举报
回复
好象在vxWorks的shell中使用变量需要声明吧,你这样适用,fp在后面两句中有效吗?
szjapple 2008-08-05
  • 打赏
  • 举报
回复
我想在本地文件系统里创建个文件,之前看了个帖子说在shell下:

fp=fopen("host:d:/temp/myfile","w")
fprintf(fp,"kjkkhjk")
fclose(fp)

我试了下,就是最上面那个情况,可以创建,但是写不进去。在对应目录下也
找不到创建的文件。

至于后面那个问题,应该是需要bsp支持。

谢谢了!
szjapple 2008-08-05
  • 打赏
  • 举报
回复
能不能说详细点呢?
freeman_madcat 2008-08-05
  • 打赏
  • 举报
回复
要先创建了文件系统才能这样操作。
文件系统涉及到改bsp改flash驱动...
szjapple 2008-08-05
  • 打赏
  • 举报
回复
很急啊~~~~~~~
szjapple 2008-08-03
  • 打赏
  • 举报
回复
ma()函数要建个dosfs,然后创建个文件。有什么问题,请帮我指出来。
以前没弄过文件系统,想试验一下,就没正经起变量名,我平常不是这样的,呵呵。谢谢哈!
fprintf这样用没问题吧,就是把字符串打印到文件里啊
huli1516 2008-08-02
  • 打赏
  • 举报
回复
-> fp=fopen("host:d:/myfile","w")
new symbol "fp" added to symbol table.
fp = 0x491efcc: value = 78637496 = 0x4afe9b8
-> fprintf(fd,"kdkfdjk")


fprintf这样调用让人不解
huli1516 2008-08-02
  • 打赏
  • 举报
回复
你的ma函数想做什么?创建文件系统嘛?
好像不对哦
编程习惯不好,变量用b、d,最后让人看了名字就知道你想做什么
szjapple 2008-08-01
  • 打赏
  • 举报
回复
还有一段程序,我加载的时候,会出现一下错误:
Errors while downloading D:/Tornado/target/proj/Project3/SIMNTgnu/dosfstry.o:
_dosFsInit
_fdDrv
_fdDevCreate
_dosFsMkfs

请各位帮帮忙啊,谢谢啊!

/*dosfstry.c*/

#include <dosFsLib.h>
#include <ioLib.h>
#include <iosLib.h>
#include <sysLib.h>
#include <ramDrv.h>
#include <vxWorks.h>
#include <stdio.h>
#include <string.h>

ma()
{

BLK_DEV *b;
DOS_VOL_DESC *d;
int fd;

dosFsInit(1);
fdDrv();

b = fdDevCreate(0,0,0,0);
d = dosFsMkfs("/fd0",b);

fd = open("/fd0",2,0);
write(fd,"hai",3);
close(fd);
}

2,179

社区成员

发帖
与我相关
我的任务
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
  • VxWorks开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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