WinAPIでフォルダ作成
先日質問させていただき、
ファイル出力時に、フォルダを作成し、そのフォルダにファイルを出力していく方法をお聞きしたところ、
_mkdir()関数を使い、最初にフォルダを作っておく方法を教わり、
これは上手くいきました。
それとは別に、WinAPIを使い、フォルダの有無を調べ、無い場合は
作成するという方法があるのを教えてもらいました。
WinAPI使ったことないので、良くわからなかったのですが、
丁寧な説明を頂き、ほとんど、コピーして貼り付けるだけだったので
実行してみたのですが、意味のわからないエラーが出てしまいました。
実行した方法は、
#include <shlwapi.h>
#include <windows.h>
if ( PathIsDirectory(path) ){ ←フォルダ有無
CreateDirectory( path, NULL ); ←フォルダ作成
}
sprintf( buff, "%s\\%s", path, filename );
fp = fopen( buff, "w" );
:
fclose( fp );
エラーの内容は
構文エラー : 識別子 'DECLSPEC_IMPORT' がシンタックスエラーを起こしました。
というものでした。
エラーの部分は、よく解らないのですが、自分で書いたメインの文ではなく、何かのヘッダ部分?のようでした。
もしかして、WinAPIを使うには、何かインストールしないとマズイのでしょうか??
これだけの説明で、何が悪いのか指摘できるのかわかりませんが、
わかる方いらっしゃいましたら教えて下さい。
何か足りない情報があったら書き込みます!
ちなみにもう一つお聞きしたいのは、フォルダのpath指定のところは
相対パスでもいいのでしょうか?
例えば、現在Cファイルがある場所にDATAというフォルダを作りたかったら、
path指定のところは、
PathIsDirectory(DATA) で問題ないのでしょうか?
すみませんが、回答お願いします!
お礼
なるほど・・・ root権限がないとだめなんですね。どうもありがとうございます