• 締切済み

出力について(初心者です)

Borland のTurbC++をつかっています。 C言語であるプログラムを書いて、その結果をプレゼンテーションで使うことに なりました。 プログラムを実行するとそのまま画面に結果が表示されるようにしたいのですが、 可能でしょうか? 今では実行すると、.exeファイルに格納され、そのファイルをまた実行しないと、表示されず、スクロールもできません。 何か方法がありますでしょうか?よろしくお願いします。

みんなの回答

  • leaz024
  • ベストアンサー率75% (398/526)
回答No.4

sssohei さんの言う通り、表示用のプログラムを書くのがよいと思います。 例えば次のようなプログラム(line.c)をコンパイルしておき、「実行ファイル | line」とすればOKです。 #include <stdio.h> #include <conio.h>   /* ※1 */ int main(int argc, char **argv)   /* ※3 */ {   char str[256];   /* ※2 */   int cnt = 0, i;   if (argc >= 2) sscanf(argv[1], "%d", &cnt);   /* ※3 */   if (cnt == 0) cnt = 1;   while (1) {     for (i = 1; i <= cnt; i++) {   /* ※3 */       if (gets(str) == NULL) goto END;       puts(str);     }     (void)getch();   /* ※1 */   } END:   return 0; } ※1.「実行ファイル | line」のようにパイプを使うと、line.exe 内の標準入力関数(stdio.h の関数)では、キー入力を読めなくなってしまいます。  (その代わり、「実行ファイル」の出力が読み込まれます。)  なので、コンソール入力関数(conio.h の関数)を使っています。  (これならキー入力が読めます。) ※2.「実行ファイル」が出力する、最長の行の長さよりも大きく設定して下さい。 ※3.line.exe にパラメータを渡すことで、1度に出力する行数を設定できます。  3行ずつ出力する場合は、「実行ファイル | line 3」のようにして下さい。 不明な点がありましたら、補足をお願いします。

  • sssohei
  • ベストアンサー率33% (33/98)
回答No.3

久しくDOSプロンプトを使用していなかったので、記憶が違ったようです。申し訳ありません^^; >WinNT系のコマンドプロンプトだとスクロール出来るんです、、言い訳ですが。 more コマンドで「続く」がでるのは消しようがないです。 表示用のプログラムを書くか、テキストファイルに書き出して、エディタで表示するかぐらいしか残念ながら思いつきません。 後者は xxx.exe > out.txt としてやれば out.txt に実行結果を書き出せるので、そのテキストファイルをエディタで表示する。と言う物です。 前者なのですが、「1行ずつ順に表示させる方法」を実装してやって、画面の行数分表示というのはいかがでしょうか? 長くなりそうなので、プログラムは書きませんが、分からなければ、補足をお願いします。 なお、 xxx.exe | out.exe の様にすれば、out.exeの方の標準入力(stdin)にxxx.outの出力(stdout)が得られます。

  • LemonT
  • ベストアンサー率49% (39/79)
回答No.2

こんばんは。 DOSプロンプト上で、 > 実行ファイル |more とすると、任意のキーを押すことにより1頁分づつ進んで表示します。

sibuya0224
質問者

補足

ありがとうございました。 実行してみたところ、1ページ分ずつ表示されましたが、 「続く」という文字も表示されてしまいます。 この文字を消すことはできないのでしょうか? あと、文字列を表示する際に、 1行ずつ順に表示させる方法がありましたら、教えてください。

  • sssohei
  • ベストアンサー率33% (33/98)
回答No.1

> 今では実行すると、.exeファイルに格納され 実行可能ファイル(exeファイル)が生成されると言うべきです。 C言語で書かれたソースをコンパイラが機械語のファイルに変換します。その変換結果が実行可能ファイルですので あらかじめ、複数の実行可能ファイルを用意しておくのじゃ駄目なんでしょうか? >表示されず、スクロール どんな環境でプレゼンテーションするんでしょうか? パソコンの画面を単に出力するのでしょうか? Windowsなのだったら、DOSプロンプト(Win9X)かコマンドプロンプト(WinNT系)で実行したらうまく行きませんか? はずしてたら補足をお願いします。

sibuya0224
質問者

補足

ご指摘、アドバイスありがとうございました。 >どんな環境でプレゼンテーションするんでしょうか? まず、ソースをざっと見せて、その場でプログラムを実行させ、 その結果を表示したいと思っています。 DOSプロンプトで実行してみましたが、行数が足りず、 結果が(34行)すべて表示することができないのですが、 これを解決する方法はありますでしょうか? 例えば あ・・・ い・・・ う・・・ ・・・ というように文字列を34行表示したいです。よろしくお願いします。

関連するQ&A

  • 初心者の質問

    「C言語を始めよう」 http://hp.vector.co.jp/authors/VA010286/#SOFTWARE というフリーソフトを使用してC言語の勉強を始めた者です。 質問 コンパイルして、実行すると 「c:\borland\bcc55\Bin\test2.exe 'test2.exe'は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチファイルとして認識 されていません。」というエラーが出ます。 プログラムは、以前に書いてちゃんと動いていたもの(test.exe)をコピー貼り付けしたものなのにです。 test.exeはちゃんと動きます。 なぜなのでしょうか?

  • 画面のテキストをファイル出力

    画面に表示したテキストをファイルに出力する方法はありませんか。 fprintfを画面出力と同時に実行すればよいのですが、 fprintfをプログラムに追加していくとフローチャートを 書き直さなければならないので何か方法があれば教えてください。 お願いします。 環境 windows XP borland c++ 5.5

  • Borland C++ Compilerについて。

    Borland C++ Compilerでコンパイルし、 exeファイルを実行したところ、 実行された画面が一瞬(0.1秒くらい)出て 消えてしまいました。 唯一、"Hello"を表示するプログラムは ちゃんと出ました。 原因は何でしょうか?

  • C言語を使ってコンボボックスとか作ることができるのか??(初心者)

    こんばんわ プログラミングを最近始めた超初心者です どれくらい初心者かというと、コマンドプロントで「はじめてのC言語」みたいな文字列を表示するプログラムを書いたことがある程度のプログラミング歴です。 で、質問なんですが、C言語の入門書をパラパラと読んでいるのですが、C言語って、実行するときいつもコマンドプロントでしか実行できず、黒画面で白文字のプログラムしかできないような印象を受けるのですが、C言語で作ったプログラム(exeファイル)をダブルクリックしたら、エクセルで言うところのコントロールツールや、ダイヤログボックスが出てくるようなプログラムを作ることはできるのでしょうか??? で、もし、できるのであれば、そういう記事を紹介している本やサイトがあれば教えてほしいのですが、宜しくお願いいたします。

  • exeファイルを実行するとコマンドプロンプトがすぐに閉じる

    最近C言語でのプログラミングを始めたばかり なんですが、プログラムをコンパイルすると exeファイルができますよね。 そのexeファイルを実行したときに、 コマンドプロンプトが一瞬開いて結果が表示され すぐに閉じてしまうので、内容を確認することが できません。 どうしたら、すぐに閉じないようにできるでしょうか?

  • C言語での実行

    C言語(ボーランドのCpad)を使っています。 いつも使ってるパソコンと違うパソコンでC言語のプログラムをし始めました。 前のパソコンと同じようにプログラムのコードをCファイルで保存して同じように新しいパソコンから開いて同じように実行ボタン押したのですが、実行できず、exeファイルが存在しませんって表示されます。 ちなみに、動かすプログラムは4つあり、そのうちの3つはちゃんと実行でき、ファイルも作成できるのですが、同じ方法でやってるあと1つのプログラムだけがうまくいきません。 4つとも同じフォルダにするようにしていて、3つはちゃんと実行できるので、フォルダが違うことはないと思います。 なぜ「exeファイルが存在しません」ってなるのか。 ちゃんとフォルダにCファイルはあるのに。 ちなみに、正確にできる3つのように、実行できると「OBJファイル」とか「アプリケーション」とかも同時に作成されます。 ただ、問題の1つのプログラムは当然、実行できず、exeファイルが存在しませんって表示されるので何も作成されません。 ボーランドのC言語、実行、ファイル、など詳しい方ぜひ教えて下さい。 同じやり方で今までのパソコンではできていたのに、パソコン変えると実行できなくなります。 フォルダやCファイルが正確ではないのかとも思いましたが、前までのパソコン通りにやっているので問題ないと思います。 ぜひアドバイス下さい。

  • C言語初心者ですが……

    C言語初心者ですが…… すみません。このたびC言語を学び始めるにあたって一つ困ったことが起きましたので、助けてください。 はじめての人御馴染みの「Hello,world!」を画面に表示させるプログラムをつくりました。拡張子も構文も完璧に作ることができました。しかし、exeファイルを開いて確認しようとしたところ、一瞬で画面が閉じてしまい、「Hello,world!」が表示されているかどうか確認できずにいます。 この原因が何なのか、対処法とあわせてご指導していただけると幸いです。 なお、自分はWindows7でMicrosoft Visual C++ 2010 Expressを使っています。

  • C言語のコンパイルの設定で詰まっています。

    エディタ:Notepad++ notepad++のNppExecというプラグインを使い、いろいろなサイトとファイルを参考に以下のコマンドを記述しました。 NPP_SAVE CD $(CURRENT_DIRECTORY) C:\borland\bcc55\Bin\bcc32.exe -I -L "$(FILE_NAME)" Console画面には、 Current directory: C:\[フォルダ名] Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland [ファイル名].c: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland ================ READY ================ と表示されました。 私には何をやっている文章なのかよくわからないのですが、 .cのファイルはちゃんと保存され、.exe .tds .obj のファイルができているので、コンパイルは成功していると思います。 そこで、 コンパイルしたhogehoge.exeなどをnotepad++上で実行させるためには、どのようなコマンドを記述すればいいのでしょうか? コマンドプロンプトをにbcc32などと記述してコンパイルするのは、面倒に感じるのでどうしてもNotepad上でexeを実行させたいのです。 他のテキストエディタを使う、というのは考えていません。 当方、プログラミング自体、C言語でやっとfor文を覚えたばかりの初心者なので、できるだけわかりやすい言葉で解答をいただけると幸いです。お願いします。

  • C言語初心者ですが……

    C言語初心者ですが…… すみません。C言語を初めてやろうと考えています。それでいくつか分からない点があり、皆さんに相談した次第です。 まず初心者おなじみの「Hello,world!」を表示させるプログラムをつくってみました。 構文とか拡張子とかは完璧です。自信あります。 しかし、いざexeファイルを開いたところ、なぜかウインドウが一瞬で閉じてしまいました。そのため、本当に画面に「Hello,world!」が表示されているのかどうかとても心配です。 こういうとき、どうすればいいのでしょうか。もしよろしければ答えて頂けると幸いです。 ちなみに私はMicrosoft Visual C++ 2010 Expressとやらを使っています。

  • Borland C++ Compiler

    学校のC言語の授業で使用するので、Borland C++ Compilerをインストールしました。 今までに作ったプログラムや、教科書に載っていたサンプルプログラムをコンパイルして軽い勉強をしていたのですが、コンパイルの際にエラーが出るようになりました。 コマンドプロンプトでbcc32と打つと、パラメータのリストのようなものが出てくるので、-nなど適当にパラメータをつけて実行したら以下のようなエラーが出るようになりました。 Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland test.c: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: 外部シンボル '_main' が未解決(C:\BORLAND\BCC55\LIB\C0X32.OBJ が参照) objとtdsファイルは出力されるのですが、exeが出力されません。 どうやったらなおるか、教えてください。