|
|
|
|
|
для: Trianon
(07.07.2007 в 01:44)
| | Никакая не шутка. Относительно C, C++ медленнее, потому что объетно-ориентирован. А если писать на C++ процедурно, то смысла я не вижу. | |
|
|
|
|
|
|
|
для: Trianon
(07.07.2007 в 17:47)
| | пасиба, буду пробовать | |
|
|
|
|
|
|
|
для: bronenos
(07.07.2007 в 17:46)
| | stdlib наверное | |
|
|
|
|
|
|
|
для: Trianon
(07.07.2007 в 17:07)
| | getenv в каком файле? | |
|
|
|
|
|
|
|
для: bronenos
(07.07.2007 в 15:29)
| | как получить доступ к переменным окружения - представляете?
третий параметр main или вызов getenv()
Нету на уровне приложения никаких ассоциативнх массивов.
Есть переменная окружения QUERY_STRING и переменная окружения CONTENT-LENGTH -- оттуда и растут все ноги.
Печатайте список переменных окружения и вперед.
>правда я думал что первая строка HTTP/1.0 200 OK
это я напутал. | |
|
|
|
|
|
|
|
для: Trianon
(07.07.2007 в 13:39)
| | спасибо, на с++ я перевести уж смогу...
правда я думал что первая строка
не 200 HTTP/1.0 OK
а HTTP/1.0 200 OK
а насчет .cgi?id=4
где мне прочитать значение ид?
полагаю что в argv массиве, втором аргумент, но как? в с++ нет ассоциативных массивов.. | |
|
|
|
|
|
|
|
для: bronenos
(07.07.2007 в 09:13)
| |
#include <stdio.h>
char body[] =
"<HTML><HEAD><TITLE>test</TITLE></HEAD><BODY><H1>Hi All!</H1></BODY></HTML>" "\r\n";
int main()
{
printf(
"200 HTTP/1.0 OK" "\r\n"
"Content-Type: text/plain ; charset=\"windows-1251\"" "\r\n"
"Content-Length: %d" "\r\n"
"\r\n"
"%s" "\r\n",
strlen(body),
body);
return 200;
}
|
Или Вам нужен именно С++? | |
|
|
|
|
|
|
|
для: Trianon
(07.07.2007 в 01:38)
| | вам не трудно будет написать какую нибудь простенькую программу выводящую Hi all?
а то не совсем понятно все что надо и как :) | |
|
|
|
|
|
|
|
для: SHAman
(06.07.2007 в 17:44)
| | >Что касается C++, то это зря. Он медленнее.
Шутка, да? | |
|
|
|
|
|
|
|
для: bronenos
(06.07.2007 в 17:28)
| | Потому что CGI-хандлеры так не пишут.
CGI-хандлер должен
а) прочитать из стандартного входного потока заголовок запроса
б) определить длину тела запроса, если таковое есть.
в) прочитать из стандартного входного потока тело запроса, если таковое есть.
г) и ни в коем случае не залезть за границу запроса !!!!
д) получить переменные окружения
е) на базе а),в),д) выполнить обработку
ж) сформировать полный набор полей заголовка отклика и выплюнуть его в стандартный выходной поток
з) если есть тело отклика - выплюнуть в стандартный выходной поток разделяющую пустую строку и тело.
и) если тело не пустое - выплюнуть в стандартный выходной поток тело отклика
й) завершить выполнение.
Конечно он многое может не делать, но в отличие от скрипта на php - сформировать заголовок отклика полностью - его непреложная задача:
200 HTTP/1.1 OK
Content-Type: text/plain ; charset="windows-1251"
Content-Length: 10
Проверка
|
| |
|
|
|
|