マンガでよめる痔のこと・薬のこと

コンソールアプリケーションが画面に文字を表示するときの処理はどうなってるのでしょうか。途中まで調べてみましたが分からなくなりました。
GetStdHandle 関数でスクリーンバッファのハンドルを得てそのバッファにWriteFile 関数を使ってデータを書き込む。この後の処理は画面に表示しなければならないのでデバイスコンテキストとか絡んでくるんでしょうか?
ご助言ください。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

またまたすみません。


HANDLE hOut

HANDLE hOutput;
でした(WriteFile関数の第一引数と同じにしないといけません)。
    • good
    • 0

#1です。

勘違いして、変な回答をしてしまいました。すみません。
DWORD dw;
char str[xxx];
HANDLE hOut
:
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
WriteFile(hOutput, str, strlen(str), &dw, NULL);

上記のように書くと、strの内容が標準出力に出力されます。

この回答への補足

回答有難うございます。
>WriteFile(hOutput, str, strlen(str), &dw, NULL);
>上記のように書くと、strの内容が標準出力に出力されます。

WriteFile関数は「文字」をスクリーンバッファに書き込むだけの処理ですよね?
そのあとデバイスコンテキストとかのGDI関係の処理が、絡んでくるんじゃないのだろうか?というのが質問です・・・

質問が分かりにくくてすいません。

補足日時:2010/02/04 23:20
    • good
    • 0

>コンソールアプリケーションが画面に文字を表示するときの処理


コンソールアプリケーションはCUIで動作するプログラムのことですよね。でしたらprintfなどで出力すれば良いのでは?
GUIで動作するプログラムを作成するのであれば、WIN32APIでぐぐれば、参考になるサイトが沢山見つかりますよ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング