これは、cgi で html データを取得するための私の C++ コードです。
char* fileContentLength;
int nContentLength;
fileContentLength = getenv("CONTENT_LENGTH");
if(fileContentLength == NULL)
return -1;
nContentLength = atoi(fileContentLength);
if(nContentLength == 0)
return -1;
data = (char*) malloc(nContentLength+1);
if(data == NULL)
return -1;
memset(data, 0, nContentLength+1);
if(fread(data, 1, nContentLength, stdin) == 0)
return -1;
if(ferror(stdin))
このコードを実行した後、変数「データ」に以下の結果が得られました。
f0=fname0&l0=lname0&f1=fname1&l1=lname1&f2=fname2&l2=lname2&f3=&l3=
ここで、f0、l0、f1、l1 は HTML ページの入力ボックスの名前です。この文字列から、fname0、lname0、fname1、lname1 などの値を分離する必要があります。sscanf関数を使用しました。しかし、正しい結果を取得できませんでした。上記の文字列の値を firstname と lastname というローカル変数に割り当てるにはどうすればよいですか。