0
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))

これは、フォーム データを文字配列に取得するための c++ cgi コードです。このコードを実行した後、変数「データ」に以下の結果が得られました。

f0=fname0&l0=lname0&f1=fname1&l1=lname1&f2=fname2&l2=lname2&f3=&l3=

ここで、cgicc を使用して、上記のようなデータを単一の文字配列で取得したいと考えています。しかし、cgicc を使用すると、特定の要素の値を取得できます。しかし、単一の文字配列ですべての要素の値を取得したいと考えています。cgiccを使用してこれを行うにはどうすればよいですか?

4

1 に答える 1

0

これは非常に遅い返信であることは知っていますが、誰かの助けになるかもしれません。

これは、私が経験した問題に関連している可能性があります。昨日、初めて C++ Cgi スクリプトを使い始めました。POST メソッド (GET は正常に動作) を使用してデータを送信しているときに、コード内で Cgicc を複数回宣言すると、「'std::runtime_error' のインスタンスをスローした後に呼び出される終了... what(): I/O エラー」が発生することがわかりました。 . これは、Cgicc をグローバルに宣言することで解決されたため、コード内で 1 回だけになりました。

于 2013-07-04T05:04:53.790 に答える