12

system() を使用せずに Windows API でディレクトリを作成できる小さなコードを見つけました。唯一の問題は、サブディレクトリにディレクトリを作成できないことです。例えば

#include<windows.h>

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

C で random という名前のフォルダーを作成します。

しかし、私がそうするなら

#include<windows.h>

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

これは、Users の下のフォルダ morons ではなく、Usersmorons という名前の C che フォルダに作成します。何か提案はありますか?

4

3 に答える 3

39

C:\ Usersでフォルダを作成または削除するには、管理者アクセスが必要です。これらの権限があることを確認するために、管理者として.exeを実行していることを確認してください。そうしないと、CreateDirectoryは失敗します。

返されるエラーを取得するには、GetLastErrorを使用します。返される可能性のあるエラーのリファレンスについては、次の「戻り値」セクションを参照してください。

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

また、あなたが探しているコードは

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

「morons」の前に「\\」が必要なので

于 2012-01-19T18:27:56.790 に答える
22

そこに別のバックスラッシュが必要です:

CreateDirectory ("C:\\Users\\morons", NULL);
于 2012-01-19T18:18:22.753 に答える