総ありがとう数 累計4,284万(2014年10月25日現在)

毎月4,000万人が利用!Q&Aでみんなで助け合い!

-PR-
oohanabisi

OS/Win98でVC++を使ってC言語を学習している初心者です.

C言語のプログラムでMS-DOSプロンプト上のコマンド入力において
プリンタに出力する方法を知りたいです.

たとえばMS-DOSプロンプト上で

C:>[プログラム名][ファイル名(XXX.txt)]

と入力すればプリンターにおいて、入力した[ファイル名(XXX.txt)]が
出力されるようなプログラムを作成したいです.
主にプログラムの流れをどのようにすれば良いか知りたいです.

宜しくお願いします.
  • 回答数4
  • 気になる数0

Aみんなの回答(全4件)

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

  • 2001-01-29 19:14:34
  • 回答No.4
補足読みました...
 そうなると、プリンタドライバを使っての印刷になりますので、簡単には出来ません。

 全部書いてしまうと、プログラムを載せる事になってしまうので、主な流れとその時に調べるキーワードを列挙します。
----ここから
1.VC++のプロジェクトの新規作成を選択して、プロジェクトを作成する
 ヒント:沢山あるが、今回の様なプログラムでは、『Win32 Console Application』がお薦め、その後のチェックでは『MFCを使用する』が必須(楽をしたいなら)です。

2.コマンドラインパラメータを取得する
 ヒント:TCHAR* argv[], TCHAR* envp[]あたりを調べる

3.コマンドラインから取得したファイルを調べる
 ヒント:そのファイルが存在するかどうかが重要

4.プリンタのハンドルを作成する
 ヒント:CreateDC この時に、プリンタ名を使用するので、そのプリンタ名の取得がちょっとやっかい

5.コマンドラインからのファイルを開く
6.一行読込む
7.プリンタハンドルに一行書込む
 ヒント:TextOut
8.6-7を繰り返す(改頁等の処理が入るとちょっと面倒)
 ヒント:StartPage/EndPage
9.ファイルを閉じる
10.印刷を終わる
 ヒント:EndDoc
11.ハンドルを解放する
 ヒント:DeleteDC
12.プログラムを終了させる
----ここまで

 ヒントで、関数名になっている物は、その関数名で、ヘルプを検索すれば使用方法が出て来ます。
 ちょっと高いのですが、Windows95 APIバイブル1(9600円)を購入すれば、印刷の仕方が書かれています。参考になると思います。
お礼コメント
有難うございました.参考にさせて頂きます.
投稿日時 - 2001-01-30 09:17:56
  • 同意数0(0-0)
  • ありがとう数0

その他の回答 (全3件)

  • 2001-01-29 13:38:11
  • 回答No.1
1ファイルをオープン
2プリンタポートをオープン
3ファイルを1行読込
4プリンタに1行書込み
5ファイルのEOFまで3~4繰り返し
6プリンタポートクローズ
7ファイルクローズ

必要に応じて、5・6の間で改ページ(排紙コマンド)をプリンタポートに出力
補足コメント
上記の1,7は分かったのですが2から6をどのように行えばいいのか
分かりませんでした.

出力ストリームをプリンタへするということでしょうか?

2の「プリンタポートをオープン」とはC言語の域内で出来ることでしょうか?
C++/VC++はまだ勉強しておりませんので分かりません.

MSDNライブラリで関数がいろいろありましたがよく分かりませんでした.
何か関数でこの関数を指しているぞ!!というのがありましたら教えて頂
きたいです.Cの域を越えていることでもかまいません.

勉強不足で申し訳ございません.どうぞ宜しくお願い致します.
投稿日時 - 2001-01-29 14:20:06
通報する
  • 同意数0(0-0)
  • ありがとう数0
  • 2001-01-29 14:20:23
  • 回答No.2
ちょっと追加

0 main関数の引数からコマンドライン文字列を取得

やさしすぎるかな?
通報する
  • 同意数0(0-0)
  • ありがとう数0
  • 2001-01-29 15:21:23
  • 回答No.3
 プリンタは固定でよろしいのですか?

 もしプリンタが汎用プリンタドライバを使用するとなるとちょっと厄介です。

 プリンタによっては、プリンタコードが異なりますので、一度試しに
 コマンドラインから、
『type ファイル名 > prn』でプリンタ出力してみて下さい。それが、無事印刷出来れば、何事もなく印刷出来ます。
補足コメント
>プリンタは固定でよろしいのですか?
>もしプリンタが汎用プリン…ちょっと厄介です。

固定であるか汎用であるかの概念が勉強不足で分かりませんでした.
私の環境はパソコンからLUNでパソコン(プリンタ用サーバー)へ情報を送り
そこにプリンタが接続されている状態です.汎用になるのでしょうか?

MS-DOSプロンプトで

pass>type ファイル名 > prn  と入力しましたが
ファイルを作れませんでした.  と出力されました.
投稿日時 - 2001-01-29 15:59:45
通報する
  • 同意数0(0-0)
  • ありがとう数0
  • 回答数4
  • 気になる数0
  • ありがとう数3
  • ありがとう
  • なるほど、役に立ったなど
    感じた思いを「ありがとう」で
    伝えてください

関連するQ&A

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

別のキーワードで再検索する

あなたの悩みをみんなに解決してもらいましょう

  • 質問する
  • 知りたいこと、悩んでいることを
    投稿してみましょう
-PR-
-PR-
-PR-

特集

専門医・味村先生からのアドバイスは必見です!

関連するQ&A

-PR-

ピックアップ

  • easy daisy部屋探し・家選びのヒントがいっぱい!

-PR-
ページ先頭へ