[求助] 創(chuàng)建目錄的問題?

51如何創(chuàng)建目錄? 我copy(mPathName, "abc/dat.dat"), creat后返回ERR_MISS_DIR,即是沒有該abc目錄。沒有創(chuàng)建目錄的指令?類似于creat file函數(shù)?

我手動(dòng)創(chuàng)建了目錄F080709,然后往/F080709/D16.DAT寫數(shù)寫不進(jìn)去,連D16.DAT文件都沒有建。奇怪?

(1)庫里面沒有直接創(chuàng)建目錄的,目錄的創(chuàng)建方法可以參考EXAM9 (2)把D16.DAT文件創(chuàng)建的過程貼出來看看


創(chuàng)建D16.DAT的代碼如下,其中DateTime[]中是年月日小時(shí)的BCD碼。就是上面的08 07 09 16(08年7月9日16點(diǎn))。我手動(dòng)創(chuàng)建了D080709文件目錄,然后執(zhí)行下面代碼。結(jié)果D16.DAT創(chuàng)建失敗。執(zhí)行i=CH375FileCreate()返回也對了,就是文件夾目錄里沒有D16.DAT文件。

//----------------------- sprintf(mCmdParam.Open.mPathName, "/F%02bx%02bx%02bx/D%02bx.DAT", DateTime[0], DateTime[1], DateTime[2], DateTime[3]); i = CH375FileOpen(); if(i == ERR_SUCCESS) // 文件打開 { mCmdParam.Locate.mSectorOffset = 0xFFFFFFFF; i = CH375FileLocate(); mStopIfError(i);

resDataNum = CH375vFileSize & (CH375vSectorSize - 1);

CH375vFileSize += CH375vSectorSize - 1; mCmdParam.Read.mSectorCount = 1; mCmdParam.ReadX.mDataBuffer = &my_buffer[0]; // - resDataNum; i = CH375FileReadX(); mStopIfError(i); CH375vFileSize -= CH375vSectorSize - 1; mCopyXRAMtoXRAM(&my_buffer[1024] - resDataNum, &my_buffer[0], resDataNum); mCmdParam.Locate.mSectorOffset = 0xFFFFFFFF; i = CH375FileLocate(); mStopIfError(i); } /* else if(i == ERR_MISS_DIR) // 目錄不存在 { sprintf(mCmdParam.DirCreate.mPathName, "/F%02bx%02bx%02bx", DateTime[0], DateTime[1], DateTime[2]);

} */ else if(i == ERR_MISS_FILE) // 文件不存在 { LED_WR_ACT(); i = CH375FileCreate(); mStopIfError(i); SendString("File Created \n"); resDataNum = 0; } else // 其他錯(cuò)誤 { mStopIfError(i); }


參照exam9, 搞定。呵呵~~~ 謝謝!


可以創(chuàng)建的,只是不知道DateTime[0]-DateTime[3]是如何賦值的 試驗(yàn)時(shí),其賦值如下即可: DateTime[0] = 0x08; DateTime[1] = 0x07; DateTime[2] = 0x09; DateTime[3] = 0x16;


對 啊, 就是那樣的。 好像是在目錄下創(chuàng)建文件前先要打開目錄? 不過我參照exam9后創(chuàng)建的目錄又可以在目錄下創(chuàng)建文件了。


不需要打開目錄,下面是實(shí)驗(yàn)的程序: DateTime[0] = 0x08; DateTime[1] = 0x07; DateTime[2] = 0x09; DateTime[3] = 0x16;

sprintf(mCmdParam.Open.mPathName, "/F%02bx%02bx%02bx/D%02bx.DAT", DateTime[0], DateTime[1], DateTime[2], DateTime[3]); printf("%s\n",mCmdParam.Open.mPathName ); i = CH375FileOpen(); if(i == ERR_SUCCESS) // 文件打開 { mCmdParam.Locate.mSectorOffset = 0xFFFFFFFF; i = CH375FileLocate(); mStopIfError(i);

// resDataNum = CH375vFileSize & (CH375vSectorSize - 1); CH375vFileSize += CH375vSectorSize - 1; mCmdParam.Read.mSectorCount = 1; mCmdParam.ReadX.mDataBuffer = &my_buffer[0]; // - resDataNum; i = CH375FileReadX(); mStopIfError(i); CH375vFileSize -= CH375vSectorSize - 1; // mCopyXRAMtoXRAM(&my_buffer[1024] - resDataNum, &my_buffer[0], resDataNum); mCmdParam.Locate.mSectorOffset = 0xFFFFFFFF; i = CH375FileLocate(); mStopIfError(i); } /* else if(i == ERR_MISS_DIR) // 目錄不存在 { sprintf(mCmdParam.DirCreate.mPathName, "/F%02bx%02bx%02bx", DateTime[0], DateTime[1], DateTime[2]);

} */ else if(i == ERR_MISS_FILE) // 文件不存在 { printf("create\n"); LED_WR_ACT(); i = CH375FileCreate(); mStopIfError(i); // SendString("File Created \n"); // resDataNum = 0; } else // 其他錯(cuò)誤 { mStopIfError(i); }


您這個(gè)是手動(dòng)建了文件夾后再建文件的么?


是的,照著你2樓中的說明做的


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

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