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

Не пойму где ошибка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибку помoгите найти http://www.cyberforum.ru/cpp-beginners/thread271477.html
sorry
C++ Постройка бин. дерева помогите, не строится дерево #include "stdafx.h" #include <iostream> #include <Windows.h> using namespace std; struct tree { int m; tree* l; http://www.cyberforum.ru/cpp-beginners/thread271475.html
найти цифру C++
господа прграмисты возник такой вопрос-возможно в консольном приложении,на с++,выводя на экран при помощи "Cout" найти допустим определённый знак.Ну например-выводим "1,2,3,4,5,=" и из него на ходим "=". Заранее всем огромное спасибо,давно интересовал этот вопрос!!!
C++ Сортировка методом выбора, односвязный список
Добрый вечер. Такая проблема, срочно нужно сделать два задания, я сколько не пробовал - у меня ещё не получается, нужно в кратчайшие сроки. Обратиться мне не к кому, живу в маленьком городе, и кто разбирается таких нет (( Выручите, кто может. Задание 1. Разработать приложение, выполняющее следующие функции. Ввести с клавиатуры значения элементов символьного двумерного массива. Отсортировать...
C++ Вычисление суммы http://www.cyberforum.ru/cpp-beginners/thread271451.html
Здравствуйте многоуважаемые специалисты. Вынужден прибегнуть к вашей помощи! Программирование на С++, и ооочень прошу - блок схему опишите))) Ситуация в следующем: Вычислить сумму: (вложенный документ). Огромнейшее спасибо!)
C++ Visual Studio 2008 Prof При попытке запуска программы в компиляторе выводит следующую ошибку. 1>LINK : fatal error LNK1104: не удается открыть файл ''kernel32.lib'' эту ошибку выдает при любом коде.даже самом простом и 100 % правильном. Попытка перестановки Visual Studio проблему не решила.Может кто что посоветует.Очень нужен нормально работающий компилятор(( подробнее

Показать сообщение отдельно
BTR
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157

Не пойму где ошибка - C++

06.04.2011, 22:10. Просмотров 2163. Ответов 33
Метки (Все метки)

Всем привет, вот решил написать простенький класс для работы с интернетом и выскакивают какие-то ошибки, не пойму в чем дело, вот эти ошибки:

Run-Time Check Failure #3 - The variable 'szData' is being used without being initialized.
Первый этап обработки исключения в "0x77c370f2" в "tfbti_lib_AP.exe": 0xC0000005: Нарушение прав доступа при записи "0xcccccccc".
Необработанное исключение в "0x77c370f2" в "tfbti_lib_AP.exe": 0xC0000005: Нарушение прав доступа при записи "0xcccccccc".
Программа "[11620] tfbti_lib_AP.exe: Машинный код" завершилась с кодом 0 (0x0).


Вот код. В этом файле только прототипы

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
// tfbti_motor.h - Содержит в себе класс с прототипами методов
// tfbti - The future behind the Internet - Будущее за интернетом
// Заточен под Windows XP.
#include <Windows.h>
#include <WinInet.h>
 
namespace CPPtfbti_class {
 
    // - КОНСТАНТЫ ДЛЯ РАБОТЫ С БИБЛИОТЕКОЙ
    const INTERNET_PORT IDHP = INTERNET_DEFAULT_HTTP_PORT;
    const DWORD ISH = INTERNET_SERVICE_HTTP;
    const DWORD IOTP = INTERNET_OPEN_TYPE_PRECONFIG;
    const DWORD IFKC = INTERNET_FLAG_KEEP_CONNECTION;
 
    class WIAP {
    public:
        WIAP(LPCSTR pNameBot = "AP_bot", int i = 0);
        ~WIAP();
    // Сами функции
 
    // - Есть ли подключение к интернету?
    bool is_Inet();
 
    // - Открывает библиотеку
    void Open_Internet(DWORD D = IOTP, LPCSTR N = NULL, LPCSTR N2 = NULL, DWORD flag = 0);
 
    // - Открывает соединение с интернетом
    void Open_Connection(
            
        LPCSTR site = "www.yandex.ru",
        INTERNET_PORT constant = IDHP, 
        LPCSTR N = NULL, 
        LPCSTR N2 = NULL, 
        DWORD serv = ISH, 
        DWORD i = 0, 
        DWORD i2 = 1);
 
    // - Выводит все прочитанные сайты
    void my_Sites();
 
    // - Строит запрос для входа на сайт
    void Build_Query(
 
        LPCSTR method = "GET", 
        LPCSTR path = "/",
        LPCSTR N = NULL, 
        LPCSTR N2 = NULL, 
        LPCSTR* i = 0, 
        DWORD ip = IFKC, 
        DWORD i2 = 0);
 
    // - Отправляет запрос
    bool Send_Query(LPCSTR N = NULL, DWORD i = 0, LPVOID N2 = NULL, DWORD i2 = 0);
 
    // - Читает страницу
    bool Read_File(char* szData, DWORD size, DWORD *dwBytes);
 
    // - Закрывает указанный дескриптор
    void close(HINTERNET desc);
 
 
 
    protected:
 
    int status;
    LPCSTR name_Bot;
    HINTERNET hOpen, hConnect, hRequest;
 
    };
}
Вот их реализации.

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
// release.cpp
#include <iostream>
#include <fstream>
#include "tfbti_motor.h"
#pragma comment(lib, "wininet.lib")
using namespace std;
 
namespace CPPtfbti_class {
    // Конструктор
    WIAP::WIAP(LPCSTR pNameBot, int i) : status(i), name_Bot(pNameBot) {}
    // Деструктор
    WIAP::~WIAP() {}
 
    // - Есть ли подключение к интернету?
    bool WIAP::is_Inet() {
        if(InternetAttemptConnect(0) != ERROR_SUCCESS)
            return false;
        return true;
    }
 
    // - Открывает библиотеку
    void WIAP::Open_Internet(DWORD D, LPCSTR N, LPCSTR N2, DWORD flag) {
        hOpen = InternetOpen(name_Bot, D, N, N2, flag);
    }
 
    // - Открывает соединение с интернетом
    void WIAP::Open_Connection(LPCSTR site, INTERNET_PORT constant, LPCSTR N, LPCSTR N2, DWORD serv, DWORD i, DWORD i2) {
        hConnect = InternetConnect(hOpen, site, constant, N, N2, serv, i, i2);
    }
 
    // - Строит запрос для входа на сайт
    void WIAP::Build_Query(LPCSTR method, LPCSTR path, LPCSTR N, LPCSTR N2, LPCSTR* i, DWORD ip, DWORD i2) {
        hRequest = HttpOpenRequest(hConnect, method, path, N, N2, i, ip, i2);
    }
 
    // - Отправляет запрос
    bool WIAP::Send_Query(LPCSTR N, DWORD i, LPVOID N2, DWORD i2) {
        return HttpSendRequest(hRequest, N, i, N2, i2);
    }
 
    // - Читает страницу
    bool WIAP::Read_File(char* szData, DWORD size, DWORD *dwBytes) {
        if(InternetReadFile(hRequest, szData, size, dwBytes)) {
            if(status) {
                ofstream file("newStr.html");
                file << *szData;
                cout << *szData;
                return true;
            }
            cout << *szData;
            return true;
        }
        return false;
    }
}
Вот как я их вызываю.

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
#include <iostream>
#include "tfbti_motor.h"
using namespace CPPtfbti_class;
using namespace std;
 
int main() {
    setlocale(0, "Russian");
    cout << "Привет" << endl;
 
    WIAP inet("Andrew Bot");
    if(inet.is_Inet()) {
    inet.Open_Internet();
    inet.Open_Connection("www.google.ru");
    inet.Build_Query();
    inet.Send_Query();
    char* szData;
    DWORD bytes;
    inet.Read_File(szData, sizeof(szData)-1, &bytes);
 
    }
    else {
        cout << "Нет интернета";
    }
 
 
    system("pause >> void");
    return 0;
}
Подскажите пожалуйста, в чем проблема?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru