2012-08-25 2 views
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)) 

Это код cgi cgi для получения данных формы в массив символов. После выполнения этого кода я получил приведенный ниже результат к переменной «данные».получить данные формы, используя Cgicc

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

Теперь я хочу использовать cgicc для извлечения данных как описано выше в одном массиве символов. Но с помощью cgicc я могу получить значение конкретного элемента. Но я хочу получить все значения элементов в одном массиве символов. Как я могу сделать это с помощью cgicc?

+0

thats странный C++ !!! mallocing !! – perilbrain

+0

Я получил все данные в массиве символов, используя приведенный выше код. Но я хочу использовать Cgicc для получения конкретных данных элемента. Поэтому я объявил переменную для Cgicc, как показано ниже Cgicc formData; Если бы я добавил этот код, я получил завершение программы по адресу if (fread (data, 1, nContentLength, stdin) == 0). Если я прокомментирую вышеуказанное объявление, его рабочий штраф. Я не знаю, что здесь происходит при объявлении переменной для cgicc. –

+0

getpostdata - это вариант, но он возвращает MIME – perilbrain

ответ

0

Я знаю, что это очень поздний ответ, но, возможно, он помогает кому-то.

Это может быть связано с проблемой, которую я испытал. Вчера я начал работать с C++ скриптами Cgi в первый раз. Я обнаружил, что объявление Cgicc несколько раз в коде при отправке данных с помощью метода POST (GET работает нормально) вызвало «завершение вызова после вызова экземпляра« std :: runtime_error »... what(): ошибка ввода/вывода" , Это было разрешено, объявив Cgicc глобально, и, таким образом, только один раз в коде.

Смежные вопросы