目的:在U盘根目录下,连续创建四个文件
现象:流程是先创建一个文件,写入数据,然后关闭文件,重复上述步骤,在电脑上查看时发现只创建了第一个文件(第二个文件的名字居然在第一个文件的数据里面?),如果我在每执行一个上述步骤后,拔插U盘后,能成功创建下一个文件。
问题:如何修改程序,才能不用拔插U盘,就能连续创建四个文件?
目的:在U盘根目录下,连续创建四个文件
现象:流程是先创建一个文件,写入数据,然后关闭文件,重复上述步骤,在电脑上查看时发现只创建了第一个文件(第二个文件的名字居然在第一个文件的数据里面?),如果我在每执行一个上述步骤后,拔插U盘后,能成功创建下一个文件。
问题:如何修改程序,才能不用拔插U盘,就能连续创建四个文件?
我们CH376是支持连续创建的,你把程序贴出来看一下。
U8 Buf[64]="abcdefg" void CallDecode(*p) { U8 s; switch(p[1]) { case 0x01: s = CH376FileCreatePath("1.TXT"); s = CH376ByteWrite(aBuf, sizeof(aBuf),NUll); s = CH376FileClose(TRUE); break; case 0x02: s = CH376FileCreatePath("2.TXT"); s = CH376ByteWrite(aBuf, sizeof(aBuf),NUll); s = CH376FileClose(TRUE); break; case 0x03: s = CH376FileCreatePath("3.TXT"); s = CH376ByteWrite(aBuf, sizeof(aBuf),NUll); s = CH376FileClose(TRUE); break; case 0x04: s = CH376FileCreatePath("4.TXT"); s = CH376ByteWrite(aBuf, sizeof(aBuf),NUll); s = CH376FileClose(TRUE); break; } } 测试程序基本上就是这样的,每个case语句新建一个文件,不知道有什么问题?
手打进去的,有些地方有错误,文件名是加了斜杠的。单建一个文件是没有问题的。
问题解决了,居然是文件名的问题。 文件名是用二维数组表示的,原来是FileName[][30]={{"1.TXT"},{"2.TXT"},{"3.TXT"}}
更改后为FileName[][30]={{"\\1.TXT"},{"\\2.TXT"},{"\\3.TXT"}}
这样就可以连续创建文件了。 但是还有点疑问,如果不加斜杠,第一个文件也是可以创建的,创建第二个文件就不行了,不知道为什么?
路径名和文件名的格式与DOS文件名格式相同,斜杠必须加。