
CGIコンパイルエラーについての質問
gcc ppp.c -o pppとコンパイルしたらerrorが出てしまいます
io.h そのようなファイルやディレクトリは存在しませんとでます
CentOS Vware Playerを使っています
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <io.h>
#include <time.h>
void showimg(char []);
int main(void)
{
int no;
char *imgfile[] = {"img1.jpg","img2.jpg","img3.jpg"};
srand((unsigned int)time(NULL));
no = rand() % 3;
printf("Content-type: image/jpeg\n\n");
showimg(imgfile[no]);
return 0;
}
void showimg(char imgfile[])
{
FILE *fp;
char buf[1024];
int i, size;
fp = fopen(imgfile, "rb");
if(fp != NULL) {
_setmode(_fileno(stdout), _O_BINARY);
while((size = fread( buf, sizeof(unsigned char), 1024, fp )) != 0) {
for(i = 0 ; i < size ; i++) {
printf("%c", buf[i]);
}
}
fclose(fp);
fflush(stdout);
_setmode(_fileno(stdout), _O_TEXT);
}
}
このプログラムを正しくコンパイルできて画像をランダムに表示できるようにしたいです
どなたかお教えください
No.2ベストアンサー
- 回答日時:
CentOSのバージョンが不明…ですけどねぇ…。
[user@localhost ~]$ rpm -qf /usr/include/sys/io.h
glibc-headers-2.5-65.el5_7.1
[user@localhost ~]$
ということで、CentOS5.7では「glibc-headers-2.5-65.el5_7.1」のパッケージが入っている必要があります。
# というか既に入っているんじゃないですか??
上記のコードだけなら…io.hは要らないんじゃないかとも思いますが……
# 使うなら…<sys/io.h>ですかねぇ。
で……
ヘッダを修正しても、_O_BINARY等でエラーになります。
_setmode()自体が見当たらない……ですかねぇ。
stdoutに対してfwrite()で書き込めばバイナリモードで出力できる。
とありますけど。
まぁ、それでもこのコードには問題がありますけどね。
・コンテンツのサイズが不明。(CGIの呼び出し元で付けてくれますかねぇ…)
・fopen()の時の失敗する可能性がある。(カレントディレクトリにimg1.jpg、img2.jpg、img3.jpgがありますかねぇ?)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GlobalAlloc生成メモリの開放で...
-
C言語でファイル読み書きを早く...
-
c言語でのfscanfについて
-
C言語にてXMLファイルから任意...
-
ファイルの特定行の抽出
-
最早開始時間と最遅完了時刻を...
-
Aの値からBの値を除するとは??
-
信頼区間の1.96や1.65ってどこ...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 エラーの原因がわからな...
-
値差の%計算方法について
-
数字以外が入力されたらエラー...
-
「Aに対するBの割合」と「Aに対...
-
VB6.0での小数点の扱いについて
-
【C++】関数ポインタの使い方
-
c languageで 簡単な質問があ...
-
ある商品のロス率を5%見込み、...
-
既定のコンストラクタがありま...
-
CTabCtrl:TABインデックス単位...
-
charと%c , %s の関係について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数ファイルの同時読み込みの...
-
C言語の課題です
-
ファイル出力で改行を入れたい!
-
fgets( ) の返り値は何?
-
C言語でファイル読み書きを早く...
-
fopenでファイル名に、変数を使...
-
ファイルに行番号を追加
-
テキストファイル内に対して, ...
-
ファイルへの書込み処理が異常...
-
C言語についてアドバイスをくだ...
-
同時にファイル読み込み 書き込み
-
初心者のc言語
-
大量の入力ファイルを扱うとき...
-
【C言語について】ファイル名の...
-
C言語 共用体の構造体の引数設定
-
C言語でのCSVソートとデータ抽...
-
エラーがわかりません、、
-
プログラムの内で、何か画面表...
-
「コマンドライン引数チェック...
-
プログラミングのデータの読み込み
おすすめ情報