目的:在U盤根目錄下,連續(xù)創(chuàng)建四個文件
現(xiàn)象:流程是先創(chuàng)建一個文件,寫入數(shù)據(jù),然后關閉文件,重復上述步驟,在電腦上查看時發(fā)現(xiàn)只創(chuàng)建了第一個文件(第二個文件的名字居然在第一個文件的數(shù)據(jù)里面?),如果我在每執(zhí)行一個上述步驟后,拔插U盤后,能成功創(chuàng)建下一個文件。
問題:如何修改程序,才能不用拔插U盤,就能連續(xù)創(chuàng)建四個文件?
目的:在U盤根目錄下,連續(xù)創(chuàng)建四個文件
現(xiàn)象:流程是先創(chuàng)建一個文件,寫入數(shù)據(jù),然后關閉文件,重復上述步驟,在電腦上查看時發(fā)現(xiàn)只創(chuàng)建了第一個文件(第二個文件的名字居然在第一個文件的數(shù)據(jù)里面?),如果我在每執(zhí)行一個上述步驟后,拔插U盤后,能成功創(chuàng)建下一個文件。
問題:如何修改程序,才能不用拔插U盤,就能連續(xù)創(chuàng)建四個文件?
我們CH376是支持連續(xù)創(chuàng)建的,你把程序貼出來看一下。
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語句新建一個文件,不知道有什么問題?
手打進去的,有些地方有錯誤,文件名是加了斜杠的。單建一個文件是沒有問題的。
問題解決了,居然是文件名的問題。 文件名是用二維數(shù)組表示的,原來是FileName[][30]={{"1.TXT"},{"2.TXT"},{"3.TXT"}}
更改后為FileName[][30]={{"\\1.TXT"},{"\\2.TXT"},{"\\3.TXT"}}
這樣就可以連續(xù)創(chuàng)建文件了。 但是還有點疑問,如果不加斜杠,第一個文件也是可以創(chuàng)建的,創(chuàng)建第二個文件就不行了,不知道為什么?
路徑名和文件名的格式與DOS文件名格式相同,斜杠必須加。