カレントディレクトリなんですが・・・
カレントディレクトリなんですが・・・
カレントディレクトリのファイル名/フォルダ名を表示してください。
または、カレントディレクトリのパスを表示してください。
ヒントワード: 「system( "dir" );」「stdlib.h」
という問題があるのですが
まずカレントディクトリがわかりません。できるだけわかりやすくおしえていただけないでしょうか?
そして、上記の問題のヒントもおしえていただけないでしょうか
よろしくおねがいします
または、カレントディレクトリのパスを表示してください。
ヒントワード: 「system( "dir" );」「stdlib.h」
という問題があるのですが
まずカレントディクトリがわかりません。できるだけわかりやすくおしえていただけないでしょうか?
そして、上記の問題のヒントもおしえていただけないでしょうか
よろしくおねがいします
Re: カレントディレクトリなんですが・・・
カレントディレクトリは自分自身がちゃんとわかっているかわからないのでパスで...
ヒントのsystem("dir");というのはdirとコマンドプロンプトプロンプトに打ち込んで実行しろという意味です。
stdlib.hをインクルードする必要があります。
コマンドプロンプトで dir とはファイルやディレクトリの情報を表示させる為のものです。
ヒントのsystem("dir");というのはdirとコマンドプロンプトプロンプトに打ち込んで実行しろという意味です。
stdlib.hをインクルードする必要があります。
コマンドプロンプトで dir とはファイルやディレクトリの情報を表示させる為のものです。
Re: カレントディレクトリなんですが・・・
カレントディレクトリは 、英語で表すと current directory となり 現在の作業ディレクトリのことです。
初期状態では、実行しているプログラムのあるディレクトリに設定されています。
system( "dir" ); は、 カレントディレクトリにあるファイルやディレクトリをコマンドプロンプトに表示する命令です。
それから、カレントディレクトリのパスを表示する命令は system( "cd" ); なので試してみてください。
初期状態では、実行しているプログラムのあるディレクトリに設定されています。
system( "dir" ); は、 カレントディレクトリにあるファイルやディレクトリをコマンドプロンプトに表示する命令です。
それから、カレントディレクトリのパスを表示する命令は system( "cd" ); なので試してみてください。
Re: カレントディレクトリなんですが・・・
お二方どうもありがとうございます
おかげさまで問題を解くことができました
ですがまたわからない問題にぶちあたってしまいました
この問題です
Cドライブ直下のファイル名/フォルダ名を表示してください。
ヒントワード: 「コマンドプロンプトについて調べる」「C:¥」
わからないところは表示のやりかたと表示したいファイル名/フォルダ名までのたどりつき方の2つがわかりません
教えていただけないでしょうか?よろしくお願いします
おかげさまで問題を解くことができました
ですがまたわからない問題にぶちあたってしまいました
この問題です
Cドライブ直下のファイル名/フォルダ名を表示してください。
ヒントワード: 「コマンドプロンプトについて調べる」「C:¥」
わからないところは表示のやりかたと表示したいファイル名/フォルダ名までのたどりつき方の2つがわかりません
教えていただけないでしょうか?よろしくお願いします
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: カレントディレクトリなんですが・・・
コマンドプロンプトに関してはどこまで調べられたのでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: カレントディレクトリなんですが・・・
ヒントワード: 「コマンドプロンプトについて調べる」
とあるのですが、コマンドプロンプトが何か、どんな事が出来るのか調べられましたか?
コマンドプロンプトに関して、ご存知のことを教えてください。
とあるのですが、コマンドプロンプトが何か、どんな事が出来るのか調べられましたか?
コマンドプロンプトに関して、ご存知のことを教えてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: カレントディレクトリなんですが・・・
横から失礼します。
2回目の質問も考え方は最初のと同じです。なので、答えは既にyucky001さん、HolyWingsさんが提示しており、それぞれのコマンドを理解出来ていれば解ける問題です(cdに関しては引数が必要になりますが)。
先ほど最初の質問は解決したとおっしゃいましたが、それぞれのコマンドの意味等はご自分でも調べられましたか?
皆さんは適当なコマンドを教えたわけではないので、ちゃんとそれぞれには意味があります。
毎度答えだけ訊いて組み立てるのでは回答者も辟易しますし、何よりもfirstさんの為になりません。
せっかく使い道と使い方をセットで覚えられる機会を得たのですから、
「言われたものをなんとなく使ったら出来ちゃった」
から一歩踏み出して、ご自分の理解に繋げてみませんか(^-^)
僭越ながら、softya(ソフト屋)さんのご質問もそういった趣旨だと思います。
とりあえずとして、「コマンドプロンプト」「system()関数」「dir」「cd」なんかを調べてみてはいかがでしょう?
2回目の質問も考え方は最初のと同じです。なので、答えは既にyucky001さん、HolyWingsさんが提示しており、それぞれのコマンドを理解出来ていれば解ける問題です(cdに関しては引数が必要になりますが)。
先ほど最初の質問は解決したとおっしゃいましたが、それぞれのコマンドの意味等はご自分でも調べられましたか?
皆さんは適当なコマンドを教えたわけではないので、ちゃんとそれぞれには意味があります。
毎度答えだけ訊いて組み立てるのでは回答者も辟易しますし、何よりもfirstさんの為になりません。
せっかく使い道と使い方をセットで覚えられる機会を得たのですから、
「言われたものをなんとなく使ったら出来ちゃった」
から一歩踏み出して、ご自分の理解に繋げてみませんか(^-^)
僭越ながら、softya(ソフト屋)さんのご質問もそういった趣旨だと思います。
とりあえずとして、「コマンドプロンプト」「system()関数」「dir」「cd」なんかを調べてみてはいかがでしょう?
- bitter_fox
- 記事: 607
- 登録日時: 14年前
- 住所: 大阪府
Re: カレントディレクトリなんですが・・・
「cdに関しては」とありますがcdコマンドでカレントディレクトリを変えてから、dirコマンドで表示するという二回system関数を使った解法を意図しているのでしょうか?ゆーずぃ さんが書きました: 2回目の質問も考え方は最初のと同じです。なので、答えは既にyucky001さん、HolyWingsさんが提示しており、それぞれのコマンドを理解出来ていれば解ける問題です(cdに関しては引数が必要になりますが)。
もし二回system関数を使用した解法を意図しているのでなければ次は無視してください。
system関数は新しい子シェルを作成して第一引数に指定されたコマンドを実行した後作成したシェルを削除して制御を返します。
ですので、
system("cd ..");
system("md hogehoge");
とした際は
[実行する際のカレントディレクトリ\..]ではなく[実行する際のカレントディレクトリ]にhogehogeディレクトリが作成されてしまいます。
(過去にこの仕様で何時間も悩んだw)
なので、実際の解法は「引数に表示するディレクトリを指定したdirコマンド」になるのではないでしょうか?
[hr][修正]
実行したディレクトリ->実行する際のカレントディレクトリ
Re: カレントディレクトリなんですが・・・
横道に逸れますが知っていると便利なので記します。
#既にご存知だったらごめんなさい。
system("cd .. && md hogehoge");
というふうにするとシンプルになる場合があると思います。
ちなみに&&でコマンドを繋ぐと直前のコマンドがエラー終了すると実行を中止します。||で繋ぐと中止しません。
#既にご存知だったらごめんなさい。
コマンド単体であればオプションで対象ディレクトリを指定するのがシンプルですが、複数のコマンドを連続して実行したいときはbitter_fox さんが書きました:system("cd ..");
system("md hogehoge");
とした際は
[実行する際のカレントディレクトリ\..]ではなく[実行する際のカレントディレクトリ]にhogehogeディレクトリが作成されてしまいます。
(過去にこの仕様で何時間も悩んだw)
system("cd .. && md hogehoge");
というふうにするとシンプルになる場合があると思います。
ちなみに&&でコマンドを繋ぐと直前のコマンドがエラー終了すると実行を中止します。||で繋ぐと中止しません。
- bitter_fox
- 記事: 607
- 登録日時: 14年前
- 住所: 大阪府
Re: カレントディレクトリなんですが・・・
おぉ、&&で繋げば正常に実行できたんですか。ISLe さんが書きました:横道に逸れますが知っていると便利なので記します。
#既にご存知だったらごめんなさい。
コマンド単体であればオプションで対象ディレクトリを指定するのがシンプルですが、複数のコマンドを連続して実行したいときはbitter_fox さんが書きました:system("cd ..");
system("md hogehoge");
とした際は
[実行する際のカレントディレクトリ\..]ではなく[実行する際のカレントディレクトリ]にhogehogeディレクトリが作成されてしまいます。
(過去にこの仕様で何時間も悩んだw)
system("cd .. && md hogehoge");
というふうにするとシンプルになる場合があると思います。
ちなみに&&でコマンドを繋ぐと直前のコマンドがエラー終了すると実行を中止します。||で繋ぐと中止しません。
SetCurrentDirectory関数を使って解決したのですが、この方法ならスマートに書けますね。
Re: カレントディレクトリなんですが・・・
みなさん、ありがとうございます。
ゆーずぃさんのおっしゃる通りに、「コマンドプロンプト」「system()関数」「dir」「cd」を調べてみたいと思います。
softya(ソフト屋)さん質問へのお答えはそのあとでよろしいでしょうか?
ゆーずぃさんのおっしゃる通りに、「コマンドプロンプト」「system()関数」「dir」「cd」を調べてみたいと思います。
softya(ソフト屋)さん質問へのお答えはそのあとでよろしいでしょうか?
Re: カレントディレクトリなんですが・・・
コマンドプロンプトについて調べてみました
プログラムの実行ができる
デイレクトリ(ファイル名)を参照できる
コマンドプロンプトからペイントやメモ帳を開ける
dir・・・ディレクトリを表示できるコマンド
cd・・・ディレクトリの切り替えができるコマンド
すみません
このくらいしか調べることができませんでした
そして問題なんですが
system("dir C:\\");
上のやりかたで解くことができました
dirはわかっていたのですがC:\\の書き方や書く位置がわかりませんでした
ですが解けたといっても適当にやって偶然見つけたのでこれからも勉強しようと思います
ありがとうございました
プログラムの実行ができる
デイレクトリ(ファイル名)を参照できる
コマンドプロンプトからペイントやメモ帳を開ける
dir・・・ディレクトリを表示できるコマンド
cd・・・ディレクトリの切り替えができるコマンド
すみません
このくらいしか調べることができませんでした
そして問題なんですが
system("dir C:\\");
上のやりかたで解くことができました
dirはわかっていたのですがC:\\の書き方や書く位置がわかりませんでした
ですが解けたといっても適当にやって偶然見つけたのでこれからも勉強しようと思います
ありがとうございました
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: カレントディレクトリなんですが・・・
こちらが参考になると思います。
「初めてのコマンドプロンプト/Command Prompt」
http://www5f.biglobe.ne.jp/~ayum/command/command.html
「初めてのコマンドプロンプト/Command Prompt」
http://www5f.biglobe.ne.jp/~ayum/command/command.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。