none
_mkdir()で、一度に2段深いディレクトリを作成できるのでしょうか RRS feed

  • 質問

  • Cライブラリー関数で、_mkdir()をつかい、下のような一度に2段深いディレクトリ作成をしましたが、エラーとなるようです。

    _mkdir(\A\B) 、1段ずつでは問題なく機能します。

    これは、この関数の仕様でしょうか、ご教授お願いいたします。

    2012年5月19日 7:56

回答

  • MSDNライブラリの解説に

    「_mkdir 関数は、一度の呼び出しで 1 つしかディレクトリを作成できないので、 dirname の最後の要素が新しいディレクトリの名前になります。」

    と、書かれています。

    現在の _mkdir は使ったことがないのでわかりませんが、ライブラリの解説通りなら、一度に1つしか作られないと思いますよ。

    もし、MSDNライブラリに書かれたことは信用ならないということなら、ランタイムのソースをあたってみてはいかがでしょうか?


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/

    • 回答としてマーク haysan 2012年5月20日 2:49
    2012年5月19日 9:01

すべての返信

  • MSDNライブラリの解説に

    「_mkdir 関数は、一度の呼び出しで 1 つしかディレクトリを作成できないので、 dirname の最後の要素が新しいディレクトリの名前になります。」

    と、書かれています。

    現在の _mkdir は使ったことがないのでわかりませんが、ライブラリの解説通りなら、一度に1つしか作られないと思いますよ。

    もし、MSDNライブラリに書かれたことは信用ならないということなら、ランタイムのソースをあたってみてはいかがでしょうか?


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/

    • 回答としてマーク haysan 2012年5月20日 2:49
    2012年5月19日 9:01
  • 早速のアドバイスありがとうございます。

    ヘルプを良く見ていませんでした、今後とも注意いたします。 2度に分けて _mkdir() をコーディングして、その挙動も確認できました。

    2012年5月20日 2:54