Форум программистов, компьютерный форум, киберфорум
Наши страницы

Решаем программы, пишем собственные модули и функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Двоичные константы (вопрос ради интереса) http://www.cyberforum.ru/cpp/thread244545.html
Интересна причина, почему нет возможности задавать именно двоичные.
C++ Компиляция кода в командной строке на паре нам показывали как работать с прогой, написанной на ассемблере - cmd-> выбор директории -> создание объектного файла с помощью команды "tasm *file_name* -> линковка "tlink *file_name* ->... http://www.cyberforum.ru/cpp/thread243674.html
Перенаправление стандартных потоков ввода/вывода для внешней программы C++
Я вот где-то прочитал как перенаправить стандартные потоки ввода/вывода на внешнюю программу в дос. Переделал код под winapi, но не работает. Прошу вас помочь. Вот код: #include <windows.h>...
C++ Написать приложение для управления программными проектами
4. Приложение для управления программными проектами Вся информация приложения хранится в трех файлах: – работники (идентификатор работника; фамилия; специальность; опыт работы) – проекты...
C++ Библиотека для работы с изображениями http://www.cyberforum.ru/cpp/thread242859.html
Я решил попробовать написать программу для распознавания изображений, а если быть точнее - цифр (база MNIST). Почитал что пишут разные люди по этой теме и решил, что чем выбирать абы как и что - надо...
C++ какой язык программирования лучше всего подходит для новичка? не подскажите какой язык программирования лучше всего подходит для новичка? подробнее

Показать сообщение отдельно
Egeni
10 / 10 / 1
Регистрация: 17.06.2010
Сообщений: 107
Записей в блоге: 1
21.02.2011, 19:50  [ТС]
вернемся к программированию... вот эти два кода

1. открываем и сохраняем страницу(но хотелось бы не сохранять целиком, а разбирать только необходимое)
1 программа

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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include <vcl.h>
 
#include <windows.h>
#include <wininet.h>
#pragma comment(lib,"wininet.lib")
 
#include <stdlib.h>
#include <iostream.h>
#include <fstream.h>
 
#define URL "www.rsdn.ru"
#define DOC "article/files/libs/crashrpt.xml"
 
 
int main(int argc, char* argv[])
{
    bool ok = false;
 
    // инициализируем WinInet
    HINTERNET hInternet =
        ::InternetOpen(
            TEXT("WinInet Test"),
            INTERNET_OPEN_TYPE_PRECONFIG,
            NULL,NULL,
            0);
 
    if (hInternet != NULL) {
        // открываем HTTP сессию
        HINTERNET hConnect =
            ::InternetConnect(
                hInternet,
                TEXT(URL),
                INTERNET_DEFAULT_HTTP_PORT,
                NULL,NULL,
                INTERNET_SERVICE_HTTP,
                0,
                1u);
 
        if (hConnect != NULL) {
            // открываем запрос
            HINTERNET hRequest =
                ::HttpOpenRequest(
                    hConnect,
                    TEXT("GET"),
                    TEXT(DOC),
                    NULL,
                    NULL,
                    0,
                    INTERNET_FLAG_KEEP_CONNECTION,
                    1);
 
            if (hRequest != NULL) {
                // посылаем запрос
                BOOL bSend = ::HttpSendRequest(hRequest, NULL,0, NULL,0);
                if (bSend) {
                    // создаём выходной файл
                    ofstream fnews("news.html",ios::out|ios::binary);
                    
//я понимаю что гдето здесь я должен проверять файл на совпадения
//но где именно и как это сделать??                    
                    
                    if (fnews.is_open())
                    for (;;) {
                        // читаем данные
                        char  szData[1024];
                        DWORD dwBytesRead;
                        BOOL bRead =
                            ::InternetReadFile(
                                hRequest,
                                szData,sizeof(szData)-1,
                                &dwBytesRead);
 
                        // выход из цикла при ошибке или завершении
                        if (bRead == FALSE  ||  dwBytesRead == 0)
                            break;
 
                        // сохраняем результат
                        szData[dwBytesRead] = 0;
                        fnews << szData;
                        cout << szData;
 
                        ok = true;
                    }
                }
                // закрываем запрос
                ::InternetCloseHandle(hRequest);
            }
            // закрываем сессию
            ::InternetCloseHandle(hConnect);
        }
        // закрываем WinInet
        ::InternetCloseHandle(hInternet);
    }
 
    // для полного счастья, запускаем считанную страничку
//  if (ok)
//      system("start news.html");
    system("pause");
 
    return 0;
}



2 разбираем файл и достаем заголовки H1(этого так и не хватает первой программе)
2 программа

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
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
#include <fstream>
using std::ifstream;
 
int main () {
        char    bStr[] = "<H1>",
                        eStr[] = "</H1>",
                        ifName[] = "E:\\dostat.txt";
        ifstream ifst;
        int i;
 
        ifst.open(ifName);
        if(!ifst)
                exit(-1);
 
        for(;!ifst.eof();){
                for(i=0;!ifst.eof()&&ifst.get()==bStr[i];i++);
                ifst.unget();
                if(!bStr[i]){
                        for(;;){
                                for(i=0;!ifst.eof()&&ifst.get()==eStr[i];i++);
                                if(!eStr[i])
                                        break;
                                for(;i>=0;i--)
                                        ifst.unget();
                                cout<<(char)ifst.get();
                        }
                        cout<<endl<<"--------------------------------"<<endl;
                }
                else
                        ifst.get();
        }
        cin.get();
        return 0;
}


прошу помощи или практического совета
Итак внимание знатоки, вопрос: Как будет выглядеть рабочая программа если объединить эти два кода в одну программу, второй код оформив как функцию??
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru