こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ディレクトリの作り方について

初心者の者です。
プログラムでディレクトリ(フォルダ)の作り方をご存知の方教えてください。

fopen("data/○○.dat", "w")で、
dataというディレクトリ(フォルダ)の中に○○.datというファイルを
作ることができるという事は分かったのですが、この方法では
あらかじめdataというディレクトリを作らなければなりません。

プログラムを実行させるときにディレクトリを作り、その中にファイルを
作るにはどのようにすればよいでしょうか?

また、動作環境はWindowsとUNIXの両方で使いたいのですが,
使い分けなければならないのでしょうか?

よろしくお願いします。

投稿日時 - 2001-05-22 01:30:29

QNo.79268

暇なときに回答ください

質問者が選んだベストアンサー

mkdir(path, mode)
という関数が用意されているはずです。
これはUnix/WIndows双方で利用可能なものです。
pathには作成したいディレクトリのフルパスを指定します。
modeはアクセス権限の指定です。
Windowsの場合はVC++のヘルプドキュメントのランタイムライブラリリファレンスを参照すれば載っているはずです。

投稿日時 - 2001-05-22 01:56:09

お礼

どうもありがとうございました。
おかげさまで解決することができました。
また分からない事があると思いますので、
その時はまたよろしくお願いします。

投稿日時 - 2001-05-22 23:01:51

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

> また、動作環境はWindowsとUNIXの両方で使いたいのですが,
> 使い分けなければならないのでしょうか?

先に回答された通り mkdir() は、Windows でも unix でも用意はされている
のですが、プロトタイプを宣言しているヘッダファイルが違います。

ソースを共通にするのであれば、定義済みマクロを使います。例えば、

#ifdef unix
#include <sys/stat.h>
#else /* Windows */
#include <direct.h>
#endif

という感じ。たぶん、unix という定義済みマクロは、どの unix でも
通じると思うのですが、一応確認を。また、それぞれのヘッダファイルも
念の為に確認した方が良いと思います。

投稿日時 - 2001-05-22 11:17:08

お礼

細やかなアドバイスどうもありがとうございます。
とても参考になりました。
また質問することがあると思いますが、
その時はよろしくお願いします。

投稿日時 - 2001-05-22 23:10:29

あなたにオススメの質問