• 締切済み

フォルダ作成について

現在_mkdirにてフォルダを作成しているのですが ユーザーに入力してもらった名前でフォルダが作られ、 さらにそのフォルダの中にも別で入力してもらった名前のフォルダが作られるようにしたいです。 例)\\abc\\(入力内容1)\\xyz\\(入力内容2)\\ファイル.txt いろいろ試したのですが _mkdir("\\abc"); _mkdir("\\abc\\(入力内容1)"); となった時点でエラーでとまってしまいました。 何かいい方法はないでしょうか。

みんなの回答

  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.3

mkdirの引数のために、"\\abc\\(入力内容1)\\xyz\\(入力内容2) の、 入力内容1・入力内容2にユーザが入力した名前を埋め込んだ文字列を作りたい、ということでしょうか? 1. "\\abc" を引数にmkdir実行 2. "\\abc\\(入力内容1)"な文字列を生成して、それを引数にmkdirを実行 3. "\\abc\\(入力内容1)\\xyz"な文字列を生成して、それを引数にmkdirを実行 4. "\\abc\\(入力内容1)\\xyz\\(入力内容2)"な文字列を生成して、それを引数にmkdirを実行 ってことですね。 だったら、 strcat もしくは sprintf を使って、欲しい文字列を組み立ててください。 後ろに文字列が追加されていく形だったら、strcatが簡単だと思います。 strcat(str, "\\"); strcat(str, 入力内容1の文字列変数); とすれば、strに"\\(入力内容1)"が追加されます。

すると、全ての回答が全文表示されます。
  • Zozomu
  • ベストアンサー率22% (123/545)
回答No.2

エラーはどんなエラーなんでしょう?? _mkdir()の引数はchar*ですから、変数へフォルダ名を絶対パスで編集した上で引渡すのが一般的ですが2行目の _mkdir("\\abc\\(入力内容1)"); の"\\abc\\(入力内容1)"は変数の内容としての記述ですか? それとも、この様に引数として引き渡しているのでしょうか?

xxtakoxx
質問者

お礼

すみません。 自己解決しました。

xxtakoxx
質問者

補足

mkdirが一フォルダずつしか作成出来ないため 現在は、 (1)「\\abc」までは直接引数として渡して作成し (2)「\\(入力内容1)」の部分は変数を引数として渡しています。 しかし、その後の (3)「\\xyz」 (4)「\\(入力内容2)」 の際の変数をどのように変更すればいいかわかりません。 というか(1)の際に設定した変数(仮にhen)を(2)(3)(4)と変わるたびに長さを増やすことは出来るのでしょうか。 何だか自分でも何を言っているのかわからなくなってきそうですが どうかお願いします。

すると、全ての回答が全文表示されます。
  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

とりあえず、ソースの全容とどんなエラーが出るのかを補足にどうぞ。

すると、全ての回答が全文表示されます。

関連するQ&A