C + HTML + javascriptで cgi
C言語でHTMLを作成し、パラメータをJavascriptに渡し、cgiとして実行する
# gcc test10.c -o test10.cgi
例題は、c言語でIPアドレスが書かれているファイルを読み込み、javascriptで処理する
---------------------------------------------------------------------------
c言語(htmlファイル)// ******************************************************************** // [c] + [HTML] + [javascript] => [cgi] // gcc test10.c -o test10.cgi // ******************************************************************** #include <stdio.h> #include <string.h> #include <stdint.h> #include <stdlib.h> #include <ctype.h> #include <unistd.h> #define f_ipadds "/public_html/ramdisk/ip_adds" // ip_addsが書かれているファイル // ******************************************************************** int32_t ip_read(char *ip_data){ FILE *fp; char c,*p; p = ip_data; fp = fopen(f_ipadds, "r"); if( fp == NULL )return(-1); while((c = fgetc(fp)) != EOF){ if(c > 0x20)*p++ = c; else break; } *p = '\0'; fclose( fp ); return(1); } // ******************************************************************** void main(void){ int32_t ret; char ip_data[128]; ret = ip_read(ip_data); // ip-addsを読み込む if(ret < 0)ip_data[0] = '\0'; printf("Content-type:text/html\n\n"); printf("<HTML><HEAD>\n"); printf("<META http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">\n"); printf("<META http-equiv=\"Content-Style-Type\" content=\"text/css\">\n"); printf("<TITLE>index9</TITLE>\n"); printf("</HEAD>\n"); printf("<BODY bgcolor=\"#ffffff\">\n"); // printf("start index9.html ip_data=[%s]<BR>\n",ip_data); printf("<div id=\"test\" style=\"background-color:#fff000;\"></div>\n"); printf("<div id=\"test1\" style=\"background-color:#fff00f;\"></div>\n"); printf("<div id=\"test2\" style=\"background-color:#fff000;\"></div>\n"); printf("<SCRIPT type=\"text/javascript\" src=\"test10.js\"></SCRIPT>\n"); printf("<SCRIPT>disp_watch('%s:8080');</SCRIPT>\n",ip_data); printf("</BODY></HTML>\n"); }javascriptファイル
// ########################################################################### function disp_watch(str){ var dir = 'http://' + str + '/ramdisk/'; var nme = dir + "OUT_Circle_img"; document.getElementById("test").innerHTML = str + '<BR>'; document.getElementById("test1").innerHTML = nme + '<BR>'; }