C言語でstdoutをbinモードにするには?
[上に]
[前に]
[次に]
市職員
2000/03/14(火) 13:16:23
C言語のCGIで標準出力(stdout)に画像を出力したいのですが、
既に開かれているstdoutをバイナリモードにする方法が分かりません。
ファイルに吐くならfopen("hoge.gif", "wb");でいいのですが、
同じことをstdoutでやるにはどうしたらいいのでしょうか?
フシギダネ
2000/03/14(火) 13:22:11
fwriteでstdoutに出力。
市職員
2000/03/14(火) 13:37:25
さっそくのご回答ありがとうございます。
でも、それではダメなんです。
binで書き込む方法ではなく、stdoutをbinでopenする方法がしりたいのです。
具体的には、GDライブラリを使用して、
gdImageGd(gdImagePtr im, FILE *out)
のoutにstdoutを指定したいわけです。
本来は
out = fopen("image.gif", "wb");
gdImageGd(im, out);
とするところを、
gdImageGd(im, stdout);
にしたいのでしうが、Windowsだと正常に出力されないのです。
分かる方いましたらお願いいたします。
wai
2000/03/14(火) 16:24:33
はじめまして。 たぶん
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
int main(void)
{
if (0 > _setmode( _fileno(stdout), _O_BINARY))
printf("NG\n");
else
printf("OK\n");
return 0;
}
でバイナリモードになると思うのですが。
[上に]
[前に]
[次に]