這是我用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