
CGI 画像の曜日
C言語CGI画像についての質問
#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);
}
}
の画像を表示するプログラムを月曜、火曜はimg1.jpgが表示、水曜日木曜日金曜日はimg2.jpgが表示、土曜日日曜日はimg3.jpgが表示するようにしたいですがなかなか参考にできそうなサイトなどがありません。どなたかお勧めのサイトなどがあればお教えください
投稿日時 - 2012-01-29 01:48:23
>なかなか参考にできそうなサイトなどがありません。どなたかお勧めのサイトなどがあればお教えください
大抵の参考書には、「標準ライブラリ」のリファレンスマニュアルが載っています。
載ってなかったとしても、「C言語 標準ライブラリ」で検索すればいくらでも見つかります。
それだけで十分です。
いまは乱数でnoに0~2の値を入れ、文字列の配列imgfileから、添字noの文字列(=ファイル名)を選んでいます
# 念の為に聞きますが、上記動作をしていることは理解していますね?
これを、乱数ではなく、曜日をもとにすればいいだけです。
とにかく動くもの(if~elseの連続とか)だったら、非常に簡単です。
このヒントでわからないようなら、技術がぜんぜん足りません。
C言語とプログラミングの基礎をやりなおしてください。
投稿日時 - 2012-01-29 02:22:19
このQ&Aは役に立ちましたか?
0人が「このQ&Aが役に立った」と投票しています
回答(1)