-PR-
解決済み

DOS画面をプリンタ出力

  • 暇なときにでも
  • 質問No.53402
  • 閲覧数234
  • ありがとう数5
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 59% (194/328)

MS-DOSプロンプトの画面をプリンタに出力されるプログラムを
作ろうと思いました。

#include <iostream.h>
main(){
char ppp;
cout << "pの入力でプリントします";
cin >> ppp;
if (ppp=='p'){
cout << "pが入力された";
ここでプリンタ出力命令
}
}

プリンタ出力命令はどういう命令文を書ければいいのか
教えてください。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル11

ベストアンサー率 61% (157/255)

はっきり言って、ポインタの理解があやふやな今のA__さんには早いと思います。

bcc(もしかして、フリーbcc55コンパイラを使用なさっておられるのかな?)でやるということは、Win32APIを直接呼ぶプログラムを書く必要があります。

これは今のA__さんにはかなり難しいのではないでしょうか?
(書けたとしても、他人が書いたも同然で、
 まったく意味がわからないと思います。
 単に呼び出していると言うだけの世界です。)

今のA__さんの理解できる範囲内で、やるとすれば、
DOSプロンプトの仕組の一つである、
リダイレクト機能を利用するのが簡単かもしれません。


#include <iostream.h>
#include <stdlib.h>
#include <string>

void main(int, char *argv[]) {
/* 引数があるかないかによって、「モード」を分ける
* 仕組の説明:
* p が入力  → 〔自分〕〔ppp〕〔> PRN〕の形式で自分自身を呼び出す
* p が非入力 → そのまま終了
*/

// 引数がないと、要求モードに入る
if (!argv[1]) {
cout << "[p] の入力でプリントします。\n$>";

char ppp;
cin >> ppp;

if (ppp=='p') {
cout << "p が入力されました。\n";

// p が押されると、〔自分〕〔ppp〕〔> PRN〕の形式で自分自身を呼び出す
string s=string(argv[0])+" "+ppp+" > PRN\0";
system(s.c_str());
}

} else {
// 〔自分〕〔ppp〕〔> PRN〕の形式で自分自身を呼び出されるとここにくる。
// ここでのこのプログラムの役割は、印刷すべき文字を吐き出すだけ。
cout << argv[1];
}
}

ここでは、強引にひとつのプログラム(はっきり言って、こんなプログラムは構造的に推奨されません)としましたが、

(1)「入力の要求用 兼 入力されたデータをファイルに残しておくプログラム」
(2)「データファイルを読みこみ、表示するプログラム」

という2つのプログラムを作成し、(1)で p が入力されたときに
system("(2)の名前.exe >PRN")としてやるのが より良いプログラム設計といえると思います。
お礼コメント
A__

お礼率 59% (194/328)

C++の初級の勉強のは、まずは文字列の処理とプリントアウトぐらいを
覚えよう と思っていたけど、プリンター出力命令は思ったより
難しいものだと知りました。
でも、プリンター出力は知っておきたいからなんとか理解しようと
がんばります。
初心者のための簡単なソースを教えてもらえたのがうれしかったです。
コンパイラはbcc5.5です。
ありがとうございます。
投稿日時 - 2001-03-21 00:37:46
関連するQ&A
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル13

ベストアンサー率 37% (570/1525)

DOSならSTDPRNに対応するストリームを開けばできますね。 "prn:"をストリームで開いて書きこめばプリンタに出力されます。 「DOS画面を」ということに固執するとVxDを書かないといけません。 “画面”の出力はドライバの範疇です。 ...続きを読む
DOSならSTDPRNに対応するストリームを開けばできますね。
"prn:"をストリームで開いて書きこめばプリンタに出力されます。

「DOS画面を」ということに固執するとVxDを書かないといけません。
“画面”の出力はドライバの範疇です。
お礼コメント
A__

お礼率 59% (194/328)

言葉が難しくて分からなかったけど、プリンタ出力をする時の
キーワードになると思いました。
ありがとうございます。
投稿日時 - 2001-03-21 00:39:50


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ