- 締切済み
C言語でのディレクトリ作成についての質問です。
C言語でのディレクトリ作成についての質問です。 Linuxコマンドのmkdir -pコマンドのようなことをC言語で実現したいのですが、 mkdir(dir1/dir2)のようにすると、エラーになってしまいます。 mkdir(dir1)のように階層でないディレクトリを指定した場合はうまくいくのですが・・・ mkdir関数では階層ディレクトリを1度で作成できないのでしょうか。 ディレクトリをたどってmkdirを1回ずつ使用しなければいけないのか、 階層ディレクトリを指定できる関数がほかにあるのか、 ご教授お願いいたします。
- ranwalkgo
- お礼率0% (0/13)
- C・C++・C#
- 回答数1
- ありがとう数3
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Tacosan
- ベストアンサー率23% (3656/15482)
カテゴリ的には「あるかもしれないしないかもしれない」としか言えないかな. あなたの使っている処理系の情報がないので ISO C のレベルで判断せざるを得ず, ISO C には mkdir なるライブラリ関数は存在しないので. ちなみに POSIX的には「make a directory」なのでディレクトリは 1回呼び出すごとに高々 1個しか作らないはず. コマンドとしての mkdir は「make directories」となっているので違いは明白でしょう.
関連するQ&A
- ディレクトリ(フォルダ)の作成方法
WindowsのC++で使われる『CreateDirectory』と 同等の関数を Linuxで使用したいのですが 調べても出てきません・・・ コマンドではなく(mkdir) ソース内で実行する形を取りたいと思っています。 (mkdirでも作成できるのでしょうか?) 知っている方いましたらご教授お願いします。
- ベストアンサー
- Linux系OS
- コマンドプロンプトでディレクトリを同じ階層に複数作るやり方を教えてください
ウィンドウズXPのプロフェッショナルサービスパック2を使っているのですが、コマンドプロンプトで「>mkdir ??1¥??2」で階層下に複数のディレクトリを作る方法は分かったのですが、同じ階層に例えば、c:\にtest01から09までのディレクトリを作成する方法はどうすればいいのでしょうか? forとifを使う感じとは思うのですが、01から09という指定の仕方が分かりません。 どなたか、分かる方がいましたらお教えください。 よろしくお願いいたします。
- ベストアンサー
- Windows XP
- androidでのディレクトリ作成
androidアプリケーションを作成しています。 先月からjavaを始めた初心者なのですが、 下記のコードでディレクトリ作成ができませんでした。 java.ioはandroidでサポートされているようなので、 何が原因で動作ディレクトリ作成がされないのか わかりません。 わかる方よろしくお願いします。 private String DirPath = "/data/data/MEMO"; //作成したいディレクトリのパス File dir = new File(DirPath); dir.mkdir();
- ベストアンサー
- その他(プログラミング・開発)
- PHPから外部コマンドを使ってファイルやディレクトリを新規作成するには?
LinuxのFedora10で、PHPで外部コマンドを使ってサーバ内にディレクトリを新規作成したいのですができません。 /var/www/uuu内に、index.phpを設置し、その中の一部に以下のようなスクリプトを書いています。 <?php system("pwd"); system("touch fff"); system("mkdir ddd"); ?> system("pwd")は/var/www/uuuという結果を出してくれます。しかし、system("touch fff")やsystem("mkdir ddd")に関しては全く結果を出してくれません。 (PHP自体のエラーではないようです。) どうやら、外部コマンド自体はうまく機能してくれているみたいなのですが、ディレクトリやファイルを新規作成することができないようなのです。 /var/www内のディレクトリuuuのパーミッションを777にして、オーナーを一般ユーザにしてやってみても同様にうまくいきません。 どのようにすれば、PHPから外部コマンドを使ってファイルやディレクトリを新規作成することができるでしょうか? よろしくお願いします。
- ベストアンサー
- Linux系OS
- ディレクトリの作成方法
基本的なことなのかしれませんが、 PHPでディレクトリの作成方法を教えてください。 以前、MKDIRで作成していたようなのですが、 メンテしたらできなくなりました。 前のPHPファイルからsubmitで呼び出していたのを location.hrefでURL呼出に変更したのですが、 mkdir処理自体は変更していません。 また、mkdirでコマンドを検索してもヒットしないのですが コマンド自体なくなったのでしょうか? もしなくなったのであれば、代わりのコマンド(処理方式)はありますか? 複数質問してもうしわけないのですが、宜しくお願いいたします。
- ベストアンサー
- PHP
- 別ユーザ所有のディレクトリ内にファイル作成できない
こんばんは。 タイトルのとおりですが、まずPHPでディレクトリを作成し、 その中にindex.htmlを作成しようとしているのですが上手くいきません。 PHPで作成したディレクトリの所有者はapacheになっているためかと思い、 実際にFTPを通して自分で作成したディレクトリの中にindex.htmlを作成したところ上手くいきました。 ディレクトリのパーミッションはいずれもスクリプトにより0777を指定しています。 このように、PHPのみでディレクトリを作成し、その中にファイルを作成する といったことが出来ずにいます。解決策等ございましたらお教えください。 参考までに、ソースを掲載しておきます。 これを設置するディレクトリのパーミッションは0777にしてみましたが、出力は「fopen error」になります。 <?php $path = "./dir/"; if(mkdir($path, 0, true)){ chmod($path, 0777); if($fp = fopen($path."index.html", "w")){ fputs($fp, $put); fclose($fp); print "Created!"; }else{ print "fopen error"; } }else{ print "mkdir error"; } ?>
- ベストアンサー
- PHP
- ディレクトリ作成
ユーザが入力した名前のファイルを作成するプログラムを作っているのですが、うまくいきません。 <html> <head> <title>データ受け渡し</title> </head> <body> <?php echo "<p>入力内容:".@$_POST["text1"]; $dir = /dir/$_POST["text1"]; mkdir($dir, 0777); ?> <form method="POST" action="<?php echo $_SERVER["PHP_SELF"]?>"> <table> <tr> <td><input type="text" name="text1"></td> <td><input type="submit" value="送信" name="sub1"></td> </tr> </table> </form> </body> </html> サーバの dir というディレクトリ内に 入力された名前のファイルを作りたいのですが、エラーが出てしまいます。 よろしくお願いします。
- 締切済み
- PHP
- linuxでディレクトリをコピーしようとするとomitting directoryというエラー
linuxでディレクトリをコピーしようとするとomitting directoryというエラーが出てコピーできません。 root@aaaaa# cp -p /home/dir1/ /home/dir2 cp: omitting directory `/home/dir1/' ちなみにこのディレクトリのパーミッションはdrwxr-xr-xです。 なんでしょうかこれは?
- ベストアンサー
- Linux系OS
- Linuxのchdir(カレントディレクトリが移動できない)
環境はLinuxおよびcygwinです。 chdir()関数でカレントディレクトリを移動するプログラムを作成しようとしていますが、プログラムの実行後、「pwd」コマンドでカレントディレクトリを確認してもカレントディレクトリが移動されていません。 ソースコード(一部) chdir("/home/hogehoge"); としても、カレントディレクトリは移動せず、pwdコマンドで、 /home/hogehoge になりません。 chdir()関数はエラーを返していません。 もしくは、cdコマンドのソースコードが入手できれば、一番よいのですが・・・Linuxのカーネルやその他のソースコードを展開してもどこにあるか分かりません。 どなたかご教授お願いします。
- ベストアンサー
- C・C++・C#