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

Получение данных с сайта - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массив: Удалить строку, в котором есть слово, имеющее наибольшее количество разных букв. http://www.cyberforum.ru/cpp-beginners/thread861998.html
Задание: дан двумерный массив строк, удалить рядок в котором есть слово которое имеет наибольшее количество разных букв. по порядку. нашел на форуме код двумерного массива строк char* arrsym; for(int i = 0; i < 2; i++) gets( (char*)&arrsym); cout << "cout" << std::endl; for(int i = 0; i < 2; i++) cout << (char*)&arrsym << endl; но что то он меня смущает. отвечает не за...
C++ Перегрузка операторов в классе - родителе Добрый день! Осваиваю основы ООП в С++. Более-менее разобрался как и что происходит. Теперь возникла потребность в перегрузке операторов. Собственно вот в чем вопрос. Имеется класс А с конструктором, который создает динамический массив, и имеет стандартные методы по выводу массива и его размера. Также есть класс B, который является наследником от А. Так вот такой вопрос: как для массива в A,... http://www.cyberforum.ru/cpp-beginners/thread861997.html
Карточная игра пьяница C++
Доброго времени суток) всем Подскажите пожалуйста как лучше сделать игру карточную пьяницу. Может у кого нибудь есть старая работа этой игры по заимствуйте пожалуйста. Вот мои наброски, подскажите мне натолките на идею #include<iostream> #include<Windows.h> #include<iomanip> #include<stdlib.h> #include<time.h> using namespace std;
Реверс строки в стиле Си C++
Подскажите как написать собственную функцию реверса строки в стиле СИ?
C++ Почему не сохраняется в векторе строка? http://www.cyberforum.ru/cpp-beginners/thread861977.html
Здравствуйте! Проблема в том, что строки не сохраняются в векторе строк, хотя передаю их по ссылке: #include <iostream> #include <vector> #include <fstream> void readf( std::vector < std::string > &answer, std::vector < std::string > &question, const int size ) { std::ifstream T_answers( "answers.txt" );
C++ memset() Здравсвуйте. У меня возник вопрос касательно memset().Есть код: #include <iostream> #include <memory.h> #include <cstdio> using namespace std; long long n,ans=0,thing,i,c,cost; bool flag; подробнее

Показать сообщение отдельно
define undef
 Аватар для define undef
32 / 32 / 1
Регистрация: 19.01.2013
Сообщений: 33
11.05.2013, 23:35     Получение данных с сайта
Я сам программист начинающий по этому мое решение может быть не самым верным или удобным. Но я б копал в сторону winsock. Как пример исходник нарытый на просторах интернета.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include "stdafx.h"
#include "winsock2.h"
 
// Необходимые дефайны
#define request "GET /index.shtml HTTP/1.1\r\nHost: www.anotherd.com\r\n\r\n" //HTML запрос.
#define MAX_PACKET_SIZE         65535
 
 
int main(int argc, char* argv[])
{
        WSADATA         ws;
        SOCKET          s;
        sockaddr_in     adr;
        hostent*        hn;
        char            buff [MAX_PACKET_SIZE];
 
        // Init
        if (WSAStartup (0x0202, &ws) != 0)
        {
                // Error
                return -1;
        }
 
        // Создаём сокет
        if (INVALID_SOCKET == (s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP) ) )
        {
                // Error
                return -1;
        }
 
 
        // Получаем адрес
        if (NULL == ( hn = gethostbyname ("www.anotherd.com") ) )
        {
                // Error
                return -1;
        }
 
        // Заполняем  поля структуры adr для использование ее в connect
        adr.sin_family                          = AF_INET;
        adr.sin_addr.S_un.S_addr        = *(DWORD* ) hn->h_addr_list[0];
        adr.sin_port                            = htons (80);
 
        // Устанавливаем соединение с сервером
        if (SOCKET_ERROR == connect (s, (sockaddr* )&adr,  sizeof (adr) ) )
        {
                // Error
                int res = WSAGetLastError ();
                //return -1;
        }
 
        // Посылаем запрос серверу
        if (SOCKET_ERROR == send (s, request, sizeof (request), 0) )
        {
                // Error
                int res = WSAGetLastError ();
                return -1;
        }
 
 
        // Ждём ответа
        int len = 0;
        do
        {
                if (SOCKET_ERROR == (len = recv (s, (char *) &buff, MAX_PACKET_SIZE, 0) ) )
                {
                        int res = WSAGetLastError ();
                        return -1;
                }
                        for (int i = 0; i<len; i++)
                                printf ("%c", buff [i]);
 
        }
        while (len!=0); //Получаем данные по частям, пока не len != 0.
 
        if (SOCKET_ERROR == closesocket (s) )   // закрываем соединенеие. *
        {
                // Error
                return -1;
        }
 
 
        return 1;
 
}
ps чтоб все работало необходимо подключить WSock32.Lib

C++
1
#pragma comment (lib,"WSock32.Lib")
 
Текущее время: 13:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru