プロが教えるわが家の防犯対策術!

現在_mkdirにてフォルダを作成しているのですが
ユーザーに入力してもらった名前でフォルダが作られ、
さらにそのフォルダの中にも別で入力してもらった名前のフォルダが作られるようにしたいです。
例)\\abc\\(入力内容1)\\xyz\\(入力内容2)\\ファイル.txt

いろいろ試したのですが
_mkdir("\\abc");
_mkdir("\\abc\\(入力内容1)");
となった時点でエラーでとまってしまいました。

何かいい方法はないでしょうか。

A 回答 (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)"が追加されます。
    • good
    • 0

エラーはどんなエラーなんでしょう??



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

この回答への補足

mkdirが一フォルダずつしか作成出来ないため
現在は、
(1)「\\abc」までは直接引数として渡して作成し
(2)「\\(入力内容1)」の部分は変数を引数として渡しています。
しかし、その後の
(3)「\\xyz」
(4)「\\(入力内容2)」

の際の変数をどのように変更すればいいかわかりません。
というか(1)の際に設定した変数(仮にhen)を(2)(3)(4)と変わるたびに長さを増やすことは出来るのでしょうか。

何だか自分でも何を言っているのかわからなくなってきそうですが
どうかお願いします。

補足日時:2008/06/09 15:14
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/06/09 16:52

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

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!