这是我用 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 的局部变量。