cmdの自動終了を防ぐ方法

このQ&Aのポイント
  • cmdの自動終了を防ぐ方法を調査しました。
  • C言語のプログラミングにおいて、cmdで起動したプログラムが自動終了してしまう問題について解決策を探しています。
  • プログラムの書き方やコンパイル方法に問題があるのか、それとも他の要因が関与しているのかを確認したいです。
回答を見る
  • ベストアンサー

cmdの自動終了を防ぐ方法

タイトルどうりcmdの自動終了を防ぐ方法を探しております。 現在、C言語のプログラミングを覚えようと頑張っています。 使用コンパイラーはC++ Compiler 5.5/Turbo Debuggerです。 terapadで入力した後に、cmdで bcc32 ファイル名.cでコンパイルしています。 コンパイル後の起動は、cmdで直接起動して、使えるようになっているのですが、エクスプローラーから起動すると、どうしても自動終了してしまいます。 プログラムの書き出しは、 #include <stdio.h> int main (void) { で終了は、 return 0; } です。 始めたばかりでぜんぜんわかりませんので、 わかりやすく押してていただけると嬉しいです。 (ちなみに、僕が想像しているのは、普通にexeファイルのように起動して、scanf()を使い、文字入力をしてもらって結果表示したのちに終了するといったものを想像しています。)

質問者が選んだベストアンサー

  • ベストアンサー
  • KDASH-XP
  • ベストアンサー率46% (63/136)
回答No.4

プログラムを勉強されている、ということであればプログラムの実行パスがどのように解決されているのか? について調べてみることをお薦めします。 (そんなに難しいことではないかと思います。) ファイル操作でも同様のことが出てくるので、知っておいて損はないですよ。

black3241
質問者

お礼

ありがとうございました http://www.geocities.jp/ky_webid/c/034.html というサイトで理解することができました。 まだ、勉強始めて、5日ぐらいしか経ってないので、 この操作は、もっと難しいものだと思ってしまい、 自分で調べるのを怠ってしまいました。 本当に申し訳ありません。 そして、ありがとうございました。 これからも勉強に励んでいきたいと思います。

その他の回答 (3)

  • KDASH-XP
  • ベストアンサー率46% (63/136)
回答No.3

プログラムを起動するバッチスクリプト 例えばprogram.exeを呼び出す program.cmdをメモ帳などで作成して program.exe pause > NUL と書いておいて、プログラムの起動にはこのprogram.cmdを使えば、最後のpauseのところで、キーボード入力待ちにできるので、プログラムの出力結果を確認できるようになるかと思います。

black3241
質問者

お礼

ありがとうございます。 無事になりました。 *.cmdを作成したあと、メモ帳から編集して、ファイルパスを入力するわけですが、同じファイルの中に入れていれば、どこからでもコピーして開けるようにはできませんか? (つまり、パスを、D:\0123.exeのようにきめてしまわないで、一緒に起動したいファイルと、*.CMDを同じファイルに入れるだけで、D:\APP\0123.exeからでも起動できるようにしたいということです。) 友達に配布してみたいので、もしできるようだったらよろしくお願いします。 変な日本語でごめんなさい。

  • chie65535
  • ベストアンサー率43% (8512/19351)
回答No.2

cmdで動く、拡張子がexeになっている自作プログラムを右ボタンクリックして「プロパティ」を開きましょう。 「プログラム」のタブに [レ]終了時にウィンドゥを閉じる と言うのがあるので、この「レ」チェックを外して、OKボタンを押しましょう。 これで、エクスプローラーから起動した場合、終了しても勝手にウィンドゥが閉じません。 なお、表示を確認し終ってウィンドゥを閉じる場合は、右上の[×]ボタンで閉じましょう。

black3241
質問者

お礼

ありがとうございます。 プロパティから探したんですが、 そのような項目は見つかりませんでした。 エクスプローラーから、そのコンパイルしたファイルの右クリックプロパティですよね? ちなみに僕のパソコンはwindows vista home Premium です。

  • k_mamas
  • ベストアンサー率36% (16/44)
回答No.1

return 0; の前に、 getch(); をつけてみてはどうでしょう? #include <stdio.h> int main (void) { getch(); return 0; } getch()は何か入力されるまで待つっていう処理です。

black3241
質問者

お礼

ありがとうございます。 やってみたところ コンパイル時に Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland 0123.c: 警告 W8065 0123.c 5: プロトタイプ宣言のない関数 'getch' の呼び Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland と書かれてできませんでした。

関連するQ&A

  • Borland C++ Compiler 5.5について

    (1)Borland C++ Compiler 5.5 (2)Turbo Debugger 5.5 (3)Bcc Dev(環境設定ツール) (4)C Pad for LSI C-86 をダウンロードしました。まず、アイコンが表示されません。 C\borland\bcc55\bin を全部見ましたが、コンパイラらしきものは入っていません。 Bcc Devを起動して、プログラムをうち、コンパイルしたと、実行とデッバグができません。 過去ログを見ましたが、参考になりません。どうすればいいのでしょうか?因みにBCC32とiLink32はあります。

  • 自宅でc言語のコンパイルが

    情報処理でc言語やってます。 学校ではサクラエディタでプログラムを書き、cproというフォルダに入れてます。そしてコマンドプロンプトで H: cd \cpro bcc32 ~.c でコンパイルします。自宅でもやろうと思って、 C++ Compiler 5.5/Turbo Debuggerってのをインストールして 設定が色々あるみたいなので、setbccと言うのをダウンロードして使ってみました。 再起動して試したんですが、 c: cd \cproまでは良いんですが、 bcc32 ~.cのあとに、コマンド'ilink32.exe'を実行できない ってなります。どうしたら良いか分かりません。PCの知識は何も無いので困ってます

  • Borland C++ Compiler でコンパイル

    Borland C++ CompilerとCpadというツールを使っているのですが、コマンドプロンプトだとbcc32 ファイル名 と入力しても「’bcc32’は、内部コマンドまたは外部コマンド~」というエラーが出て上手くいきません。 しかし、Cpad上でコンパイルすると画面下のメッセージボックスにきちんと bcc32 ファイル名でコンパイルできています。 同じコマンドを入力しているはずなのに、なぜコマンドプロンプトでは上手くいかないのでしょうか?

  • 『Bin』ディレクトリは何の略語?

    Borland C++ Compiler 5.5 上記の無償コンパイラをインストールしたのですが、 ディレクトリ名について質問があります。 bcc55ディレクトリ下の『Bin』とは何の略語なのでしょうか? またどういうファイルを格納する役割からその名前がついたのでしょうか? 他の『Lib』や『Include』などはライブラリファイルを格納するんだなとか、インクルードファイルを格納するんだろうなと、そのディレクトリの役割が直感的に理解できるのですが、『BIN』は直感的にイメージがつかめません。BINARYの略だとしてもバイナリからイメージするファイルってどういったものなのでしょう? それとコンパイラを起動するコマンド『bcc32』はBorland C Compiler の略語と考えてよいのでしょうか?そして32が意味するものは何なのでしょうか? ご存知の方がいらっしゃったら教えていただければと思います。

  • notepad++でのコンパイル設定

    コンパイラ:borland c++ compiler 5.5、エディタ:notepad++でプログラミング環境を構築しようと思っているのですが、コンパイル設定のところで詰まっています。 notepad++のNppExecというプラグインを使って, 以下のコマンドを記述したところ // save current file NPP_SAVE // compile & run with bcc D:\borland\bcc55\Bin\bcc32.exe "$(FULL_CURRENT_PATH)" -run コンパイルはできているのですが、実行モジュールやオブジェクト・ファイルの保存場所がnotepad++があるフォルダになるのです。生成された実行モジュールやオブジェクト・ファイルを任意のフォルダに保存するのはどうしたらいいのでしょうか? あとコンパイルしたhogehoge.exeなどをnotepad上で実行するのはどうしたらいいでしょうか?(手動でコマンドプロンプトを起動して実行するのは面倒なのでコンパイルしたときに実行してほしい) 教えていただきたいです。お願いします。

  • BCC Developerについて。

    Borland C++ Compiler、BCC Developerを使って #include <stdio.h> void main(){ printf("Hello C world.\n"); } をメイクしてみたのですが、 インクルードファイル 'stdio.h' をオープンできない 、と表示されコンパイルできませんでした。 環境設定は、コンパイラにbbc32.exeを指定すればいいだけなんでしょうか?よろしくお願いします。

  • bcc コンパイルしたファイルが実行できない。

    sea_clear_skyです。 環境 BCC55コンパイラ OS XP SP3 hello worldと表示させるプログラムは、コンパイルして、コンソールで表示させることはできるのですが、MYSQLに接続して、 データを表示させるプログラムは、コンパイルして、リンクして、 EXEファイルを作れるのですが、そのできたEXEファイルを実行しようとすると、問題が発生したため、ファイル名.EXEファイルを 終了しますと表示され、コンソール画面に何も表示されません。 以前は、mysqlに接続させて、コンソールに表示させることは できました。BCCコンパイラを標準コンパイラにしたりできるのでしょうか? VC++ C#.NETも使用しています。 この二つのコンパイラとBCCは共存できないのでしょうか? よろしくお願いします。

  • C++言語でのライブラリファイルの作成と使用法

    よろしくお願いします。 C言語において、例えばMinGWのCコンパイラのLibディレクトリには、拡張子が「.a」のライブラリファイルがたくさん存在しています。これらは、arコマンドで ar crv libMine.a 1.o 2.o のように作成されるものだと認識しています。 一方、C++言語において、例えばBorlandのC++コンパイラのLibディレクトリには、拡張子が「.lib」というライブラリファイルがたくさん存在します。 これらのファイブラリファイルは、C言語のaファイルと同じ役割をする考えてよいのでしょうか? また、C++において自作のライブラリファイル(libファイル)を作成するにはどうすればよいのでしょうか? 次に、C++における自作ライブラリの使用法についてですが、Cではコンパイル時に gcc -o 1.exe 1.c libMine.a のようにして、自作のライブラリファイルを使うことができますが C++のコンパイルコマンド、例えばbcc32コマンドを使ってコンパイルする時に、 自分が作成したlibファイルを使うにはどのようにすればよいのでしょうか? 最後に、Borland C++コンパイラをインストールするときに、Binディレクトリにあるbcc.cfgファイルに -L"c:\Borland\Bcc55\lib" と記述したのですが、これは、 c:\Borland\Bcc55\libにあるlibファイルをコンパイル時に自動的に読み込むということなのでしょうか?

  • コンパイル方法

    ボーランドのコンパイラーを使って、コンパイルしたいのですが、どうもうまく動きません。教えてください、お願いします。 1.インストールは完了しました 2.環境設定でPathにc:\Borland\Bcc55\bin追加しました 3.bcc32.cfg、ilink32.cfgファイルは、テキストエディタを使用して作成しました コマンドプロンプトを開き、 C:\Documents and Settings\ユーザー名> ここにcd c\と入力しても指定されたパスが見つかりませんというメッセージが出て先に進めません。 またcd c:と入力するとC:\Documents and Settings\ユーザー名>が新たに表示されます。 何が間違っているのでしょうか?お願いします。

  • CMD起動用BATファイルの作成依頼

    いつも起動するコマンドプロンプトが決まっている場合   CMDを起動後に同じコマンドを手動入力するのではなく自動でコマンドのみ入力して   次に必要なパラメーターを手動入力又はコピペで入力するようにしたいです。   (パラメーターのリストをテキストファイルで作成しておいてそこから必要な個所を    コピペしたい) 上記目的のために、BATファイルをデスクトップに作成したいと思います。 例えば,   C:\Users\Pon_\ZET01.exe -ght だとして BATファイルを起動するとコマンドプロンプトが起動して C:\Users\Pon_\ZET01 のところまでは自動的にタイプインされていて 後の-ghtを入力できるようにカーソールが移動して停止状態となる。 そこで、-ghtをコピペ(又は手動入力)して リターンキーを押すとCMDが実行されるような感じです。 近頃、まったくBATファイルを作成することが無く スキルが退化してしまいました。 すいませんが、希望のようなBATファイルを作成をお願いします。

専門家に質問してみよう