CGIコンパイルができない

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
KI

CGIコンパイルができない

#1

投稿記事 by KI » 12年前

#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);
}
}
fclose(fp);
fflush(stdout);
_setmode(_fileno(stdout), _O_TEXT);
}
}

画像をランダムに表示させるCGIでコンパイルをしたのですがio.hが見当たらないとエラーが出てします。コンパイルはsentOSで画像などもカレントディレクトリにちゃんと入ってあります。
おそらくio.hが通ってない、存在しないからだと思います、io.hを使わないで実行ファイルを作りたいのですがいろいろやってみてダメでした。
半分あきらめモードですがどなたかお教えください

beatle
記事: 1281
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: CGIコンパイルができない

#2

投稿記事 by beatle » 12年前

locateコマンドかfindコマンドでio.hの所在を確認したらいいのではないでしょうか.OSによってio.hがある場所は異なるらしいです.

locateは検索用データベースが構築されている環境で使えます.
$ locate io.h

locateコマンドが無いとか,locate用データベースが無く,検索できない場合はfindで検索します.
$ find /usr/include -name "io.h"

アバター
さかまき
記事: 92
登録日時: 13年前

Re: CGIコンパイルができない

#3

投稿記事 by さかまき » 12年前

http://detail.chiebukuro.yahoo.co.jp/qa ... 1380635438
にも似たような質問があります。参考になりますか?
(向こうはCentOS だけど)


アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: CGIコンパイルができない

#5

投稿記事 by softya(ソフト屋) » 12年前

マルチポストの可能性が高いですね。
「リリカルなのはさんの質問一覧 - Yahoo!知恵袋」
http://my.chiebukuro.yahoo.co.jp/my/mys ... mpcc694ccc
マルチポストの場合、相互リンクをお願いしていております。 http://dixq.net/board/board.html
すべての掲示板で、同時質問している掲示板を掲載して頂くようにお願いします。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る