今天调试前些天新建的工程的时候发现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,表示成功。想不明白。
希望网友能帮忙解答。