CreateDirectory windows API usage in c++

2019-02-06 21:53发布

i just found a little piece of code that let me create a directory with windows API without using system(). The only problem is that i can't create directory in subdirectory. For example

#include<windows.h>

int main(){
   CreateDirectory ("C:\\random", NULL);
   return 0;
}

Create a folder named random in C.

But if i do

    #include<windows.h>

int main(){
   CreateDirectory ("C:\\Users\morons", NULL);
   return 0;
}

It creates in C che folder named Usersmorons and not the folder morons under Users. Any suggest?

2条回答
Evening l夕情丶
2楼-- · 2019-02-06 22:20

You will need admin access to create or delete a folder in C:\Users. Make sure that you are running the .exe as admin, to ensure you have these privileges. If you do not, then CreateDirectory will fail.

To get the error that is returned, use GetLastError. For a reference on the errors that may return, please take a look at the "Return value" section at

http://msdn.microsoft.com/en-us/library/windows/desktop/aa363855%28v=vs.85%29.aspx

Also, the code you are looking for is

CreateDirectory ("C:\\Users\\morons", NULL);

As there needs to be a "\\" before "morons"

查看更多
啃猪蹄的小仙女
3楼-- · 2019-02-06 22:22

You need another backslash in there:

CreateDirectory ("C:\\Users\\morons", NULL);
查看更多
登录 后发表回答