- ベストアンサー
C++でMS-DOSプロンプトのdirコマンドを実行する方法
- C++でMS-DOSプロンプトのdirコマンドを実行するプログラムを作成する方法について教えてください。
- C++で作成したプログラムによってMS-DOSプロンプトが起動し、dirコマンドが実行されるファイルを作る方法を教えてください。
- C++のプログラムを使ってディレクトリ構造を出力し、MS-DOSプロンプトで実行する方法について教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Borland系であれば、 #include <stdlib.h> #include <cstring.h> int main(int, char** argv) { *argv++; // まず自分のプログラム名はパス // 後々の独自の拡張を考えてMemcopy などは使わない string s="dir "; while (*argv) { s += *argv++; s += ' '; } system(s.c_str()); return 0; } #include <cstring.h> は #include <string> が現在は本流。
その他の回答 (2)
- happy_people
- ベストアンサー率30% (25/81)
質問の文章を読んでいて思ったのですが、 MS-DOSプロンプト=C言語 C++言語=Windowアプリ と思ってやしませんか? C++言語でコンソールアプリを書くこともできますよ。 且つ、VC++に関して言えば(VC++5では辛いけど)VC++6ではMFCを使ったコンソールアプリも簡単に出来ます。
- toysmith
- ベストアンサー率37% (570/1525)
1.バッチファイル経由 DIRコマンドを記述したバッチファイルを作成 ShellExecuteなどで作成したバッチファイルを起動 (バッチファイルを動的に作ればどんな処理でも可能) 2.system()関数 Cの標準関数systen()にMS-DOSコマンドを引数で渡す (MS-DOSプロンプトのウィンドウは表示されない) 3.command.comを直接起動 MS-DOSコマンドはcommand.comと言うプログラムが処理するのでcommand.comに直接コマンドを渡せば実行可能。 command.comはCreateProcess()で起動。 etc... 方法はいくらでもあります。 以下,老婆心ながら… コピーならCopyFile(),ディレクトリリストならFindFirst()FindNext()FindClose()など便利なAPIがいっぱいあるのでそれを使って自前でウィンドウ描画した方がエラー処理とか楽です。 MD-DOSプロンプトでエラーが起こった時に対応するのは大事ですから。
補足
ありがとうございます。 でも、教えてくれたことが理解できず、ソースは作れませんでした。
お礼
ありがとうございます。 ソースを教えてもらえないと分からないんです。 教えていただいたソースはこの後試してみて 結果をまたここに書きます。
補足
ソースをコンパイルして実行して、DIRの結果が表示されました。 短いけど難しいソースなんですねー。 MS-DOSプロンプトを使う原型が分かりました。 ありがとうございます。