SELECTで複数選択にした場合、CGIパラメータを取得するには?(C言語)
[上に]
[前に]
[次に]
ブチコ
2000/01/26(水) 21:01:28
SELECTを複数選択可にすると、sl=01&sl=02&sl=04&sl=06・・・
のように同じ名前が並んでしまいます。
これをCGIパラメータとして配列に入れるにはどういう風にすれば
良いのでしょうか?
過去ログはPerlばかりでC言語での回答がなく、意味不明でした。
・・・スミマセン、Perlは分かりません。
よろしくお願いします。m(_ _)m
ラウォッチ
2000/01/27(木) 13:33:13
ようは、文字列を切り出して、配列にいれるだけですね。
以下の感じで。
尚、配列の数はオーバーフローしない値にして下さい。
#include <stdio.h>
main(){
static char wkbuf[] ="sl=01&sl=02&sl=04&sl=06";
char datatbl[20][80]; /* 配列データ */
char *p;
int i, j;
p = wkbuf - 1;
for(j = 0;;j++){
if((p = strstr(p+1, "sl=")) == NULL){
break;
}
for(i=0; ; i++){
if((*(p+3+i) == '&') || (*(p+3+i) == NULL)){
break;
}
datatbl[j][i] = *(p+3+i);
}
datatbl[j][i] = NULL;
}
printf("datatbl=%s\n",datatbl);
printf("datatbl1=%s\n",&datatbl[1][0]);
printf("datatbl2=%s\n",&datatbl[2][0]);
printf("datatbl3=%s\n",&datatbl[3][0]);
}
[上に]
[前に]
[次に]