• ベストアンサー

EOFについて

C言語をコンパイル、実行する際に、phb1095を利用しています。 このアプリケーションでのMS-DOSプロンプトで、「EOF」の役割をするキー操作がわかりません。control+C,control+Dは、試みて見たのですが…。 教えて下さい。

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

  • ベストアンサー
  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.2

>phb1095を利用しています。 LSI C-86用の統合環境をサポートするソフトのことですよね。 >このアプリケーションでのMS-DOSプロンプトで、「EOF」の役割をするキー操作 DOSのEOFは、0x1aで、これは制御コードでCTRL+Zです。 作成したMS-DOSアプリケーションでキーボードからEOFを入力するには コンソール入力でCTRL+Zを入力すればいいのですが、 ・copy con test.txt としてやってみると、入力は終了しますが、test.txt には、CTR+Zのコードは 記録されない様です。 実際にどんな使い方をなのか、もう少し詳しく補足してもらえば、 別のアドバイスができるかもしれません。

その他の回答 (1)

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

phb1095 が何者か知りませんが、MS-DOS の EOF は、伝統的に Ctrl-Z です。

関連するQ&A

  • コマンドプロンプトからのEOFの入力方法について

    #include <stdio.h> main(){ int cnt[10]; int c; int i; for(i=0; i<10; i++){ cnt[i] = 0; } while((c=getchar())!=EOF){ if(c>='0' && c<='9'){ cnt[c-'0']++; } } for(i=0; i<10; i++){ printf("%d : %d", i, cnt[i]); } } という、キーボードから入力した数値の個数を 表示するプログラムを、VisualC++で、Win32consoleアプリケーションで作ったのですが、 コマンドプロンプトから何個かの数値を入力したあと、Enterキーを押しても 何の反応もありません。 キーボードから「EOF」を入力するにはどうすればよいのでしょうか。 または、どういう状態をEOFと言うのでしょうか。

  • 初心者です。

    私は最近になって、c言語をゼロから勉強したいと思い、Borlandのページから、コンパイラーや、デバッガーを落としてきたのですが、ナントカ.c、のプログラムを、どうコンパイラーを使ってコンパイルするかわかりません。Ms-dosプロンプトからやるのか、さっぱりわかりません。どなたか教えていただければ、幸いです。よろしくお願いします。

  • コンパイルするときに、ファイルが見つからないと表示されてしまいます。

    コンパイルするためにMS-DOSプロンプトで、○○.cというファイルがあるところまで移動したあとに、ファイル名(bcc32 ○○.c)を入力してもファイルが見つからないと表示されてしまいます。(因みにファイル名の○○野部分にはちゃんと半角英数字が入ってます)コンパイラは、Borland C++ Compiler を使用しています。プログラミング言語はC言語です。 もしかしたら、拡張子がcのときにどのアプリケーションで開くかが設定されてないからかと思うのですが・・・ プログラミングについては勉強し始めたばかりで初心者なので、素人にもわかるように説明していただけたらと思います。

  • dos.hについて

    いま「Windowsコマンドプロンプトでマスター 書く!動かす!覚える! C言語100本勝負」というタイトルの本をサンプルプログラム集として使っているのですが、そのサンプルの中にdos.hを使ったプログラムが結構な数あります。コンパイルしたプログラムは正常に動くのですが、コンパイル時に次のような警告が出ます。 警告 W8053 hoge.c 18: '_dos_findfirst' は古い形式です(関数 main ) 警告 W8053 hoge.c 22: '_dos_findnext' は古い形式です(関数 main ) (コンパイラ:bcc32、OS:Windows XP SP2、コマンドプロンプトで実行した) ネットで調べたところ_dosで始まるような関数は現在ではほとんど使われていないようです。 そこで質問なのですが、MS-DOSの時代に使われていたような関数はWindows XPや2000等のコマンドプロンプトでも問題なく実行できるのでしょうか(自分の場合は実行できたが、警告が出た。)? 自分の推測ではコマンドプロンプト用の新しい関数が用意されているのではないかと思うのですが・・・ 詳しい方、できれば教えてください。 (正直、「コマンドプロンプトでマスター」とタイトルで謳っているのに内容が「MS-DOS」での説明とは少しだまされた気分です。)

  • 起動時にMS-DOSが立ち上がる

    PCを起動してOSが立ち上がった後にMS-DOSプロンプトが立ち上がり (タスクバーにでます)、アクティブ画面(全画面)にすると 「指定されたCOMMAND 検索ディレクトリが正しくありません」とという メッセージが出ます。 「Ctrl + Alt + Del キー」でプログラムを終了するとタスクバーにいったん落ちるのですが、しばらくすると 「プログラムが応答しません。ビジー状態か・・・」とメッセージがでます。 キャンセルで逃げてMS-DOSプロンプトを全画面にすると次のようなメッセージが出ています。 MICROSOFT WINDOWS +-------------------------------------------------+ |ポップアッププログラムサポート +-------------------------------------------------+ |ポップアッププログラムの準備が出来ました。実行が終わったら |Ctrl + C キーを押してこのウィンドウを閉じ,Windowsに戻って下さい +------------------------------------------------ ここでCtrl + Cキーを押してWindowsに戻っています。 毎回このやり方をしています。 MS-DOSプロンプトが立ち上がらないで起動する方法を教えてください。 MS-DOSプロンプトがスタートメニュー⇒プログラム⇒アクセサリの中にありますが、 何か関係があるのでしょうか・・・。 以上、よろしくお願いします。

  • C++ で DIR コマンド

    MS-DOSプロンプトで dir と入力すれば、フォルダ内の 様子がMS-DOSプロンプトに表示されるけど、 C++ で、MS-DOSプロンプトで dir と入力したのと同じ 様にするにはどういうプログラムを作ればいいのですか? 別の言い方で書くと、実行すればMS-DOSプロンプトが 起動し、dir と入力されて dirコマンドが実行される というファイルを作るソースが知りたいんです。 dirコマンドが実行される対象となるディレクトリは どこでもいいんです。 C++ のプログラムでも、ディレクトリ構造を出力することが 出来ると思うんだけど、MS-DOSプロンプトでやってみたいんです。 どうしてそんなことがしたいのかというと、C++ が難しそうだから という理由なんです。 例えば、ファイルコピーを自動化するプログラムを作る時、 C++ のプログラムの出力をMS-DOSプロンプトへ渡す方法を知っていれば、 MS-DOSプロンプトでのコピーは copy コピー元 コピー先 という簡単な書式だから、ファイルコピーを自動化するプログラムも 簡単に作れそうだなと思ったんです。

  • 恥ずかしい質問なんですが…

    c言語を勉強しています。コンパイルするときにコマンドプロンプト(XP)を使いますが実行結果が長い場合、コマンドプロンプトに表示させると上の方が切れてしまいます。プロパティで画面の大きさとか変更してもうまくいきません。どうしたら良いんでしょうか?

  • C言語を始めよう!

    C言語を始めよう! http://www.forest.impress.co.jp/article/2002/10/24/cwohajimeyou.html を使用しています。 NT4/2000/XP で、16 ビットプログラムの実行結果が表示されない  と言う問題は、LSI C-86 Ver.3.30c 試食版をツールを利用して実行するプログラム共通の問題のようです。  CPad for LSI C-86でも、以下のとおり、同様の問題があり、 COMMAND  プログラムで、この問題を解決しようとしています。 phb1122  でも、以前は、 COMMAND を利用した形跡があります。今は、 PIF ファイルを作成 することで解決しています。  なぜ、このような経緯になったのか詳しく解説していただけませんでしょうか? ******************************* WindowsNT/2000上の CPad for LSI C-86 で、コンパイルはできるが、実行結果が表示されない これは LSI C-86 が16ビットアプリケーションであるために起こる現象です。 解決策は、作成した実行ファイルを実行する前に一度、Windows9xとの互換性のために用意されているcommand.comを実行することで回避できます。 CPad での設定方法は、 [設定]ダイアログ-[高度な設定]ページの[以下の設定を変更する(C)]にチェックをしてから、[実行するコマンド(B)]に %WINDIR%\system32\command.com /c exit > nul と記述して[OK]ボタンをクリックします。 これでNT/2000上でも LSI C-86で作成した実行ファイルの出力を確認できます。 また、この現象が起こらない場合もあるようですが、どういう環境で起こって、どういう環境で起こらないのかははっきりわかっていません。 *********************** C:\phb1122\phoebe.htm ★ NT4/2000/XP で、16 ビットプログラムの実行結果が表示されない場合について Windows NT4/2000/XP で、LSI C-86 試食版を使って 16 ビットプログラムを作成して実行した際に、出力結果が表示されず、空欄になってしまう場合があります。この現象についていろいろ調査してみましたが、NTVDM.EXE の動作に原因がありそうというだけで、それ以上がどうしても分かりません。しかし、強制的に MS-DOS プロンプトを起動させられればうまくいくのではと考え、PIF ファイルを作成し、それを介して実行することで、とりあえず出力結果を表示させることに成功しました。メニューの「ビルド(B)」→「PIF を作成して実行(I)」をチェックすることで設定できます。このメニューは、LSI C-86 試食版をコンパイラに設定しているときのみ有効です。 敬具

  • コマンドプロンプトの操作について

    C言語のソースファイルをコマンドプロンプトでコンパイルしたいのですが、はじめからうまくいきません。 C:Documents and Settings\USER>になってまして、 C:\>にしたいのですが、できません。 cdで実行したのですが同じでした。 今回初めて投稿します。よろしくお願いします。

  • C++の初歩的な質問

    最近C言語を学び始め、分からないことがあるので質問させてください 1.実行結果をMS-DOSプロンプトで表示させるとき、ひらがななどの全角文字を  表示させようとすると、文字化けしてしまう。MS-DOSプロンプトの設定で、  全角文字を正しく表示させる方法はないのでしょうか? 2.私がテキストとして利用している本では、C++でグラフや図形を描がかせるために、  graphics.h というファイルをインクルードしているのですが、このファイルは  調べたところ昔のファイルみたいで、私のパソコンにはありませんでした。   C++でグラフや図形を描かせることはできるのでしょうか?また、図形を  ファイルへ出力して、保存することはできるのでしょうか? (まだCの経験が少ないため、不適当・論外なことを質問していたらごめんなさい)

専門家に質問してみよう