Форум программистов, компьютерный форум CyberForum.ru

Парсер урлов для ГЕТ и переменных для ПОСТ на Ц - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как правильно общаться с proxy-сервером? http://www.cyberforum.ru/cpp-beginners/thread493516.html
Программерский народ! ;) Подскажите, пожалуйста, как правильно общаться с прокси-сервером, всмысле какие команды когда и с какими парметрами посылать? Нашел RFC1928 - там описан протокол SOCKS 5, это оно? Читал... мало чего понял.
C++ Как создать поток в Linux? Программеры! Подскажите, пожалуйста, как создавать потоки в Linux. В Windows есть CreateThread(), а в Linux как? Можно спросить иначе: как, опираясь только на стандарт С++, создать поток? http://www.cyberforum.ru/cpp-beginners/thread493515.html
Нужно, чтобы при запуске програмы появлялась только меню и тулбары без главного фрейма. C++
Уже описывала проблему - нужно чтобы при запуске програмы появлялась только менюшка и тулбары - а главного фрейма не было видно. На новом проекте это хорошо получилось с помощью советов данных мне ранее. А вот на старом, который мне нужно переделать.....Вызывается ошибка и все. Страрый проект, как и новый создан на основе СFormView. Спасибо всем за помощь
Может ли в Ц переменная иметь переменные значения? Строки... C++
Есть простой и понятный кусочек на PHP: $variable='value' $string='Variable='.$variable.' ' Переписываю на Ц без плюзов GCC 3.2.2 под FreeBSD: #include </usr/include/stdio.h> int main (int argc, char **argv) { char Variable='value'; char String='variable='; strcat(String, Variable); char Variable='value'; exit(0); } Когда char Variable='value'; первое и единственное - суперсложная...
C++ Чтение файла с CD-ROM? http://www.cyberforum.ru/cpp-beginners/thread493490.html
Хотел бы написать свою программу для работы с CD-ROM. Нашел некоторые примеры с применением ASPI. Однако из этих примеров я не понял, как можно определить начальный и конечный секторы файла на диске с данными для того, чтобы его считать. Хотелось бы узнать, на каких секторах диска находится информация об имени файла и его расположении на диске. Где можно найти подробное описание алгоритма...
C++ Как сгенерировать DLL в Marple Подскажите, пожалуйста, как сгенерировать DLL в Marple 9, для использования ее в других паскал и си-программах. подробнее

Показать сообщение отдельно
MySQL
Сообщений: n/a
15.03.2011, 03:33     Парсер урлов для ГЕТ и переменных для ПОСТ на Ц
Пишу на Ц парсер для переменных окружения и стандартного ввода - аналог функций GET и POST на PHP.
Ощущение, что обработка строк на Ц почти аналогична ходьбе на руках - в принципе возможно, но крайне неудобно.
Или приём пищи хоккейными клюшками. Причём на вытянутых руках.
Предстваляю какая чехарда начинается при вызове библиотечной функции - поиск и подгрузка с диска нужного *.so, поиск точки входа и тп.
На Асме такого бардака стараться больно долго. Оптимизирующим компиляторам и не снилось какой красивый код руками можно написать.
В общем пишу прогу разбирающую урлу на переменные со значениями. Наверняка кто-то где-то такое уже делал, но я не нашел.
Если кто знает где искать - подскажите. Меньше мучаться буду.
А тут ещё совсем неестетсвенная проблема - написать конвертер - из байта делать байт.
Причём не какие-то там кодировки или шифрование. Всё тривиально. Нужно байт интерпретируемый (ой блин, компилируемый)
как целое бесзнаковое число считать символом - просто MOV. В терминах Ц (если он вдруг числа хранит как строки) функция ITOA.
Но такой во всяких инклюдах с либами на FreeBSD 5.1 на нашёл. Обратная функция есть, и вообще, и в коде.
И писать её приходится только потому, что когда ненадо Ц мешает обрабатывать данные, типо заботится о целостности.
А когда надо бы проверять хотябы границы массива, плюёт с высокой колокольни.
А ведь наверняка рядом с переменной есть структура, в которой хранится и тип и размер. Надо только поменять тип.
Да... на лирику потянуло. Спать надо больше. Итак заготовка:

// gcc -L/usr/local/lib/mysql -lmysqlclient -lz -lcrypt -lm -L/usr/lib -lssl -lcrypto -o get_vars get_vars.c

#include </usr/include/stdarg.h>
#include </usr/include/stdio.h>
#include </usr/include/stdlib.h>
#include </usr/include/string.h>

char Query[100], *String, *Mail_user, *Mail_old_password, *Mail_new_password, *Mail_new_password1, *ErrorMessage;
int Pay, Result; //mysql_real_query();
unsigned long i;
unsigned long String_Length;
char *Variable, *Value, *Write_Symbol, Symbol[1]; //Read_Symbol
unsigned int Character, Read_Symbol;

//unsigned int ITOA (unsigned int iNteger) {unsigned int cHaracter; unsigned int hUndreds, tEns, oNes;
char ITOA (unsigned int iNteger) { char cHaracter; unsigned int hUndreds, tEns, oNes;
hUndreds%=iNteger/100; iNteger=iNteger-hUndreds*100;
tEns%=iNteger/10; oNes=iNteger-tEns*10;
// cHaracter=hUndreds*100+tEns*10+oNes;
cHaracter=(hUndreds-'0')*100+(tEns-'0')*10+(oNes-'0');
return(cHaracter); }

int main (int argc, char **argv) { setvbuf (stdout, NULL, _IONBF, 0);
String = getenv ('CONTENT_LENGTH'); String = getenv ('SHLVL'); i=atoi(String);
//printf('String=%s
',String); printf('i=%d
',i);

//Read_Symbol=205; Character=ITOA(Read_Symbol); printf('rs=%d
',Character);
//Read_Symbol=205; Write_Symbol=ITOA(Read_Symbol); printf('rs=%d
',Write_Symbol);
Read_Symbol=205; Symbol[0]=ITOA(Read_Symbol); printf('rs=%d
',Symbol[0]);

String = getenv ('CLIENT_IP'); String = getenv ('QUERY_STRING'); String = getenv ('PATH');
String_Length=strlen(String);
for (i=0; i<String_Length; i++) { Variable=''; Value=''; Read_Symbol=String[i]; //putchar(Read_Symbol);
//Write_Symbol=Read_Symbol;
/*
if (Read_Symbol>32 && Read_Symbol<50) {printf('F*ck
');}
Character=atoi(&Read_Symbol);
Symbol[0]=Read_Symbol;
Write_Symbol='64';
Character=atoi(Write_Symbol);
Character=atoi('Z'); //Symbol[0]); //Write_Symbol=Character; //Write_Symbol='1';

if (Read_Symbol=='+') {Write_Symbol=' &qu
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru