这是我用cgi检索html数据的C++代码。从cgi POST数据获取输入
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的局部变量。
获取最后一个空元素(f3和l3)的值有个问题。我需要知道元素的值是否为空。但我不能这样做使用strtok函数。 – 2012-08-25 11:34:13
@SmithDwayne更新了我的答案,包括如何获得最后一对。 – 2012-08-27 07:20:54