C言語入門講座。関数、サンプル集を参考にして、 C言語をマスターしよう。初心者から上級者まで。

標準出力ストリーム(stdout)を介さず、コンソールへ1文字出力する

2012.08.10

putch関数は、標準出力ストリーム(stdout)を介することなく、直接コンソールへ1文字出力します。

バッファリングされることがありませんので、多バイト文字を表示できない場合があります。

多バイト文字の場合は、バッファリングするputchar関数を使用してください。

本関数は、gcc環境では標準ではありません。

また、VisualStudio2005以降では、_getch関数を使用することを推奨されています。

#include <stdio.h>
int putch(int c);

cは、出力する文字を指定します。

戻り値として、

正常に終了した場合は c を返します。

失敗した場合は、EOFを返します。

プログラム 例

#include <stdio.h>

int main(void) {
    unsigned int i;
    char str[] = 'あいう';
    char str_ascii[] = 'abc';

printf('putch()の場合(半角) > ');
for (i = 0; i < sizeof(str_ascii); i++) {
putch((int)str_ascii[i]);
}
putch('n');

printf('putchar()の場合(半角) > ');
for (i = 0; i < sizeof(str_ascii); i++) {
putchar((int)str_ascii[i]);
}
putchar('n');

printf('putch()の場合(全角) > ');
for (i = 0; i < sizeof(str); i++) {
putch((int)str[i]);
}
putch('n');

printf('putchar()の場合(全角) > ');
for (i = 0; i < sizeof(str); i++) {
putchar((int)str[i]);
}
putchar('n');
    
    return 0;
}

例の実行結果

> putch.exe
putch()の場合(半角) > abc
putchar()の場合(半角) > abc
putch()の場合(全角) > □□□□
putchar()の場合(全角) > あいう

※[putch()の場合(全角)]の結果は、文字化けしています。

※Windows環境でのみ動作確認しております。LINUX環境などでは動作が異なる場合がありますので、その場合は環境に合わせてカスタマイズしてください。

Copyright © 2011 katsumi Handa All Rights Reserved.

関連記事