我想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
->
你的ma函数想做什么?创建文件系统嘛?
好像不对哦
编程习惯不好,变量用b、d,最后让人看了名字就知道你想做什么
-> fp=fopen("host:d:/myfile","w")
new symbol "fp" added to symbol table.
fp = 0x491efcc: value = 78637496 = 0x4afe9b8
-> fprintf(fd,"kdkfdjk")
fprintf这样调用让人不解
ma()函数要建个dosfs,然后创建个文件。有什么问题,请帮我指出来。
以前没弄过文件系统,想试验一下,就没正经起变量名,我平常不是这样的,呵呵。谢谢哈!
fprintf这样用没问题吧,就是把字符串打印到文件里啊
要先创建了文件系统才能这样操作。
文件系统涉及到改bsp改flash驱动...
我想在本地文件系统里创建个文件,之前看了个帖子说在shell下:
fp=fopen("host:d:/temp/myfile","w")
fprintf(fp,"kjkkhjk")
fclose(fp)
我试了下,就是最上面那个情况,可以创建,但是写不进去。在对应目录下也
找不到创建的文件。
至于后面那个问题,应该是需要bsp支持。
谢谢了!
好象在vxWorks的shell中使用变量需要声明吧,你这样适用,fp在后面两句中有效吗?
-> 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
->
这样应该算写进去了,但是我找不到文件在哪。“d:/test”根本不存在啊