Это относительное смещение позиции в ascii, с которой начинаются цифры. Так как символы располагаются последовательно в таблице, отнимая первый из них от введеного, можно узнать его номер.
Всем привет. Начал читать книгу Компьютерные сети а там листнинги на языке СИ но как я не пытался бы компилировать их все равно компилятор выдаёт кучу ошибок.Вот код файла protocol.h #define MAX_PKT 1024 typedef enum {false, true} boolean; typedef unsigned int seqjir; typedef struct {unsigned char data[MAX_PKT];} packet; typedef enum {data, ack. nak} frante_kind; typedef struct { frame_kind kind; seqjir seq; seqjir ack; packet info; } frame; void wait_for_event(event_type *event); void from_network_layer(packet *p) ; void to_network_layer(packet *p) ; void from_physical_layer(frame *r) ; void to_physical_layer(frame *s) ; void start_timer(seqjir k); void stop_timer(seq_nr k); void start_ack_timer(void); void stop_ack_timer(void); void enable_network_layer(void); void disable_network_layer(void); fdefine inc(k) if (к < MAX SEQ) к = к + 1; else к = 0 А вот сама програмка [COLOR=DarkRed]typedef enum {frame_arrival} event_type; #include "protocol.h" void senderl(void) { frame s; packet buffer; while(true) { from_network_layer(&buffer); s.info=buffer; to_physical_layer(&s); } } void receiverl(void) { frame r; event_type event; while(true) { wait_for_event(&event); from_physical_layer(&r); to_network_layer(&r.info); }[/COLOR]
Да не скомпилится оно. Это бутофорные функции. Где файл с реализацией этих функций? Или хотя бы либа!
В книге не было написано про какой-то другой файл лишь эти листнинги. Книга Компьютерные сети 4-е издание автор Э.Таненбаум страница 244
как лучше находить путь к файлам программ? 1-по процессам 2-по реестру 3-по поиску файлов по маске%programfiles% и тд
Текст по ссылке не читал видимо? CreateToolhelp32Snapshot, Process32First, Process32Next Или GetProcessImageFileName, QueryFullProcessImageName
читал, не понял, изввиняюсь, щас пытаюсь но не знаю как хендл процесса добыть или я опять не то понимаю и будет ли эта функция работать на 32 разрядных машинах
OpenProcess http://msdn.microsoft.com/en-us/library/windows/desktop/ms684320%28v=vs.85%29.aspx В описании функций написаны все необходимые сведения. Тебе уже выше написали, что приведенный тобой код не скомпилится, т.к. отсутствует реализация методов.
Такая задачка: Есть PHP скрипт на сервере (http://127.0.0.1/base.php), и нужно ему передать POST запрос, name i lastname, через curl. Как это написать на C++ ?
зачем курл, не проще ли сокеты заюзать string SendPOST(string host, string path, const string &postdata) { SOCKET Sock = socket(AF_INET,SOCK_STREAM,IPPROTO_IP); sockaddr_in Addr; Addr.sin_family = AF_INET; Addr.sin_port = htons(80); hostent* h; in_addr Buf; h = gethostbyname(host.c_str()); Buf.S_un.S_addr = *((unsigned long*)(*((*h).h_addr_list))); Addr.sin_addr = Buf; if(connect(Sock,(sockaddr*)&Addr,sizeof(Addr)) == -1) return ""; string req = "POST " + path + " HTTP/1.1\r\n" + "Host: "+ host+"\r\n" + "User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)\r\n"+ "Connection: close\r\n" + "Content-Type: application/x-www-form-urlencoded\r\n";// + req += "Content-Length:" + IntToStr(postdata.length()) + "\r\n\r\n" + postdata; if (send(Sock, req.c_str(), req.length(), 0) == SOCKET_ERROR) { closesocket(Sock); return ""; } string response = ""; while (true) { char buf[2*1024] = ""; int rv = recv (Sock, buf, sizeof(buf), 0); if (rv <= 0) break; response.insert(response.end(), buf, buf + rv); } closesocket(Sock); return response; } Пример string text = SendPOST("127.0.0.1", "/base.php", "test0=12345&test1=54321");
можно ещё , если не сложно, обяснить код программы ? ) Если не затруднит, то ещё какий библиотеки нужно для этого подключать ?
Зачем ты пишешь программы, если не понимаешь даже элементарного? Начни с азов, так будет легче, а постепенно переходи к более сложному. Толку от того, что тебе кто-то разжует и положит в рот - 0.
HKEY hKey; char Path[200]; if(RegOpenKey(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Unistall\\DX10",&hKey)==ERROR_SUCCESS){ RegQueryValue(hKey,"UnistallSttring",Path,PLONG(Path)); MessageBox(0,Path,0,0); } как правильно считать понять не могу
Подскажите, почему не происходит вывода значения Х, когда он равен 2? PHP: # include <iostream.h> int main() { float x=1; while (x < 3) { if (x == 2) cout <<"\nx="<<x; x += 0.1; } }
LASS0, числа с плавающей запятой лучше писать как 1.0f иначе там в десятых/сотых/тысячных могут появиться лишние значения., т.е.: Code: int main() { float x=1.0f; while (x < 3.0f) { if (x == 2.0f) cout <<"\nx="<<x; x += 0.1f; } } я не знаю, решит ли это проблему, это навскидку.
Не выведет из-за ошибок округления. Так как сам формат ограничен, ты никогда не получишь точного числа. Пример выше также может не сработать.