今天調試前些天新建的工程的時候發現CreateDirectory函數創建文件夾不成功,但是這個函數的返回值
卻是成功的值。爲此很奇怪,還以爲是自己的文件系統出問題了,就叫同事也測試一下這個函數,結果跟我
一樣。到底怎麼回事呢?琢磨來琢磨去,猜測是在傳入參數出了問題,因爲我傳的char型,但CreateDirectory
調用的unicode版本,即CreateDirectoryW。於是我就把工程屬性-----》常規---》項目默認值---》字符集選項
改設成‘未設置’,這樣重新運行,結果好了。
實例代碼
#include <Windows.h>
int main()
{
char *path = "f:\\disk\\11990";
int nr = 0;
nr = CreateDirectory(path, NULL);
return nr;
}
雖然問題解決了,但還是有點奇怪,爲什麼在unicode的時候調用的返回值是1,表示成功。想不明白。
希望網友能幫忙解答。