為什么我建立的文件在U盤上刪除不了啊?

我用: mCmdParam.Create.mPathName[0] = '/'; mCmdParam.Create.mPathName[1] = 'W'; mCmdParam.Create.mPathName[2] = 'J'; mCmdParam.Create.mPathName[3] = '1'; mCmdParam.Create.mPathName[4] = '\0'; 這種形式復(fù)制文件名就可以刪除, 用: strcpy(mCmdParam.Create.mPathName,FileName); 這個語句建立的文件就不能刪除, 到底錯在哪里?

這可能是C語言問題,在C語言中strcpy這個函數(shù)拷貝時會把"\0"給拷貝過去。比如說你的文件名是 01234567 你只要拷貝8個字節(jié)就OK了。但是你用strcpy就會拷貝9個字節(jié)。簡單點說就是可能你不能簡單的用strcpy來復(fù)制文件名。 另外 mCmdParam.Create.mPathName[0] = '/';->不應(yīng)該出現(xiàn)在文件名中吧? mCmdParam.Create.mPathName[1] = 'W'; mCmdParam.Create.mPathName[2] = 'J'; mCmdParam.Create.mPathName[3] = '1'; mCmdParam.Create.mPathName[4] = '\0';在文件名中未使用的部分應(yīng)該用空格填充,'\0'是不應(yīng)該出現(xiàn)的。


上面的第一種復(fù)值方式是完全正確的,而第2種方式不能刪除的話,那就需要看你的FileName里面的復(fù)值是什么形式的了


估計是第二種FileName里面沒有路徑吧! 第一種: mCmdParam.Create.mPathName[0] = '/'; 就相當(dāng)于增加了路徑,表示在當(dāng)前路徑下,建立文件! 這個是我的理解


謝謝樓上 各位了,我再看看


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频