• ベストアンサー

C言語でのフォルダ作成

C言語でファイルをあるフォルダに出力する際に、フォルダがない場合、自動的にフォルダを作成するようにプログラムを組むことってできますか?

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

  • ベストアンサー
  • Greener
  • ベストアンサー率42% (3/7)
回答No.3

環境を限定してますが VC6.0(コンソールアプリで作成)+Winでしたら direct.hをインクルードして _mkdir( "\\フォルダ名" ) として ・返却値が0なら作成されています。 ・返却値が0でなければ既に存在する と言う方法があります。

techtechloader
質問者

お礼

回答ありがとうございます。 早速やってみたところフォルダ作成無事できました。

その他の回答 (3)

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.4

> 今組んでいるプログラムは、実行の際DOSのような黒い画面が出てきて、処理を行っています。 > このような環境でもCreateFile()というので可能ですか? ごめんなさい。先の回答で うそ をつきました。 ディレクトリの作成は CreateDirectory() API です。 コンソールアプリケーション(DOS のような黒い画面が出てくるやつ)でも利用可能です。

techtechloader
質問者

お礼

下のmkdir()でフォルダを作ることができましたが、CreateDirectory()でも挑戦してみたいと思います。 回答ありがとうございました。

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

あっても無くても作っちゃえばいいだけでは? あったらエラーになって作成できないだけですし。

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

できますよ。 だけでは、なんなので、大体の流れ(あくまでも、一例です)を。 ・ファイルを出力する ・フォルダが無いので、エラーになるはず ・出力するフォルダがあるかどうかを確認 ・無ければ作成する C 言語の範疇ではないので、OS (or 開発環境)によって、やり方は変わってきます。 フォルダ(って言うくらいだから Windows?)の作成は、Windows なら CreateFile() API、 unix 系なら mkdir() システムコールを使います。

techtechloader
質問者

補足

回答ありがとうございます。 まだプログラムの知識が少ないので、うまく言えないのですが、今組んでいるプログラムは、実行の際DOSのような黒い画面が出てきて、処理を行っています。 このような環境でもCreateFile()というので可能ですか? よろしければ、教えてください。