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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
uto
6 / 6 / 0
Регистрация: 07.05.2009
Сообщений: 94
#1

Как перехватить поток данных? - C++

05.06.2009, 02:32. Просмотров 1815. Ответов 13
Метки нет (Все метки)

Как поймать поток с данными, посылаемый браузером моей программе???
Другими словами, есть HTML форма, где надо ввести "х". Вводим туда число и нажимаем "решить" (Программа находит квадрат числа х). Но проблема в том, что моя программа не может поймать это х. Что делать???
Всё проверял. Дело в коде. Ибо сам запрос либо отправляется к программе и повисает, либо отправляется, но выдает левое значение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2009, 02:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как перехватить поток данных? (C++):

Как перехватить вывод в поток endl? - C++
Делаю систему логгирование в своей програмке. И вот возникла необходимость перехвата endl. Тоесть как только в поток передаеться endl,...

Нужно создать базу данных (создать пустой бинарный файл). Через поток. Поток бинарного файла описать в виде локальной переменной внутри функции. - C++
Совсем не понял эту тему. Нужно создать базу данных (создать пустой бинарный файл). Через поток. Поток бинарного файла описать в виде...

Как перехватить dbgprint - C++
В драйвере производится вывод с помощью dbgprint. Есть другая программа, которая должны перехватывать то, что вывелось. Как это сделать?

Как перехватить beep - C++
Уважаемые программисты на С! Подскажите, пожалуйста, как можно средствами С отследить beep системного динамика или открытие определенного...

Как перехватить нажатие на ссылку в IE - C++
Как перехватить нажатие на ссылку в IE, чтобы запустить мою собственную программу с передачей ей URL, по которому кликнули, при условии,...

Как в w2k перехватить Ctrl+Alt+Del? - C++
Уважаемый All, помоги. Спасибо.

13
Somebody
2791 / 1602 / 147
Регистрация: 03.12.2007
Сообщений: 4,199
Завершенные тесты: 1
05.06.2009, 11:02 #2
Покажи для начала свою программу
0
uto
6 / 6 / 0
Регистрация: 07.05.2009
Сообщений: 94
05.06.2009, 12:03  [ТС] #3
Ппц, я ее раз 100 выкладывал. Порыскайте темы метод Зейделя.
Но суть не в этом, вы мне на словах объясните.
0
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
05.06.2009, 14:46 #4
Цитата Сообщение от uto Посмотреть сообщение
Ппц, я ее раз 100 выкладывал
Убил полчаса, перекопал все темы, где вы учавствовали за последние 14 дней.
НЕ НАШЕЛ кода, где было-бы обращение к HTML, CGI, или чему-то подобному.
Автор, давате конкретную ссылку.
Вы полагаете нам делать больше нефига, кроме как ваши посты читать за месяц?
0
Evg
Эксперт CАвтор FAQ
18241 / 6366 / 435
Регистрация: 30.03.2009
Сообщений: 17,594
Записей в блоге: 28
05.06.2009, 15:26 #5
Цитата Сообщение от uto Посмотреть сообщение
Порыскайте темы метод Зейделя
В ответ разве что можно послать порыскать в гугле
0
uto
6 / 6 / 0
Регистрация: 07.05.2009
Сообщений: 94
05.06.2009, 15:27  [ТС] #6
Ой, долго короч рыскать
вот один из них
Метод Зейделя
кто хочет поспорить и тд, переношу бой на конец июня, как сессия кончится

Так, вот коды...

Форма HTML, которая посылает введенные данные моей программе.
HTML5
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
<html>
    <head>
        <title>Обработка CGI-программы</title>
    </head>
    <body>
        <form action="/cgi/test.exe">
            <b>Решение матрицы 3-его порядка методом Зейделя</b>
            <br><br>
            <table border=0 cellspacing=10>
                <tr align=center>
                    <td>Введите матрицу A</td>
                    <td>Введите b</td>
                    <td>Введите точность</td>
                </tr>
                <tr>
                    <td>
                        <table>
                            <tr>
                                <td><input type=text name="a11" size=6 maxlength=6></td>
                                <td><input type=text name="a12" size=6 maxlength=6></td>
                                <td><input type=text name="a13" size=6 maxlength=6></td>
                            </tr>
                            <tr>
                                <td><input type=text name="a21" size=6 maxlength=6></td>
                                <td><input type=text name="a22" size=6 maxlength=6></td>
                                <td><input type=text name="a23" size=6 maxlength=6></td>
                            </tr>
                            <tr>
                                <td><input type=text name="a31" size=6 maxlength=6></td>
                                <td><input type=text name="a32" size=6 maxlength=6></td>
                                <td><input type=text name="a33" size=6 maxlength=6></td>
                            </tr>
                        </table>
                    </td>
                    <td>
                        <table align=center>
                            <tr><td><input type=text name="b1" size=6 maxlength=6></td></tr>
                            <tr><td><input type=text name="b2" size=6 maxlength=6></td></tr>
                            <tr><td><input type=text name="b3" size=6 maxlength=6></td></tr>
                        </table>
                    </td>
                    <td align=center><input type=text name="exp" size=15 maxlength=15></td>
                </tr>
            </table>
            <br>
            <input type=submit value="Обработать">&nbsp;<input type=reset value="Очистить">
        </form>
        <hr>
    </body>
</html>
А вот метод Зейделя для решения СЛАУ
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 <math.h>
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
 
const int nn=100;
typedef double arr[nn][nn];
typedef double vect[nn];
 
void input(int*, double *);
bool exact(const double *px, const double *pp, const int *n);
 
arr A;
double e;
 
int main()
{
 
    int n,i,j;
    double sum;
    vect x,p,B;
 
    input(&n,B);             // input n,A,B.
    for (i=0; i<n; i++){     // initial approximatization
        x[i]=1;
        p[i]=1;
    }
 
    do {
        for (i=0; i<n; i++){
            sum = 0;
            for (j=0; j<n; j++)
                if (i!=j) sum+=x[j]*A[i][j];
           // printf("sum= %.2f",sum);
           // cout << "i = " << i;
            p[i]=x[i];
            x[i]=(B[i] - sum)/A[i][i];
           /* for (j=0; j<n; j++)
                printf("%.2f ",x[j]);
            cout << exact(x,p,&n);*/
 
        }
    } while (!exact(x,p, &n)) ;
 
 
    for (j=0; j<n; j++)
        printf("X%d = %.3f\n",j+1,x[j]);
 
    puts("Verification:");
     for (i=0; i<n; i++){
            sum = 0;
            for (j=0; j<n; j++){
                 sum+=x[j]*A[i][j];
                 if ((j==0) && (A[i][j]*x[j]<0)) cout <<"-";
                 printf("%.2f*%.2f",fabs(A[i][j]),fabs(x[j]));
                 if ((j!=n-1)&&(A[i][j+1]*x[j]>=0)) cout <<" + ";
                 else if ((j!=n-1)&&(A[i][j+1]*x[j]<0)) cout <<" - ";
                 else {cout << " = ";
                       printf("%.3f ;\n", sum);
                 }
            }
     }
     getch();
 
}
 
void input(int *m, double *PtrB)
{
    int i,j;
 
    cout << "Enter e.\n";
    cin >> e;
    cout << "\nEnter n.\n";
    cin >> *m;
    cout << "\nEnter matrix A.\n";
    for (i=0; i<*m; i++)
        for (j=0; j<*m; j++)
            cin >> A[i][j];
    cout << "\nEnter matrix B.\n";
    for (i=0; i<*m; i++)
        cin >> *(PtrB+i);
 
    /*for (i=0; i<*m; i++){
        cout << endl;
        for (j=0; j<*m; j++)
            printf("%.2f ",A[i][j]);}*/
    
}
 
bool exact(const double *px, const double *pp, const int *n)
{
    int i;
    bool f=true;
 
    for (i=0; i<*n; i++)
        if ( fabs( *(px+i) - *(pp+i) ) > e){
            f=false;
            break;
        }
    return f;
}
Хотели посложнее, получайте
0
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
05.06.2009, 15:39 #7
гений, параметры передаются CGI-скрипту(или твоему приложению) через командную строку.
а у тебя int main() все параметры в баню посылает.
0
Haster
инженер-системотехник
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
05.06.2009, 15:47 #8
Ну да, используй лучше метод POST, а не GET
0
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
05.06.2009, 16:08 #9
"Get"?
в упор "QUERY_STRING" не вижу. это вообще непонятно что.
0
Haster
инженер-системотехник
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
05.06.2009, 16:11 #10
Судя по строчке <form action="/cgi/test.exe"> в HTML-скрипте, у него используется метод GET...

Ну а то, что в программе непонятно что, то это да ))
0
Evg
Эксперт CАвтор FAQ
18241 / 6366 / 435
Регистрация: 30.03.2009
Сообщений: 17,594
Записей в блоге: 28
05.06.2009, 16:16 #11
Для cgi очень сильный код

C++
1
2
    cout << "Enter e.\n";
    cin >> e;
0
Haster
инженер-системотехник
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
05.06.2009, 16:18 #12
Да, забавно )))
0
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
05.06.2009, 16:19 #13
В общем, автор, читай основы.
http://www.helloworld.ru/texts/comp/web/prg/cgi6/cgi.htm
1
Evg
Эксперт CАвтор FAQ
18241 / 6366 / 435
Регистрация: 30.03.2009
Сообщений: 17,594
Записей в блоге: 28
05.06.2009, 16:23 #14
Цитата Сообщение от Patch Посмотреть сообщение
В общем, автор, читай основы.
http://www.helloworld.ru/texts/comp/web/prg/cgi6/cgi.htm
Полезно написаная вещь - коротко и всё основное есть
0
05.06.2009, 16:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2009, 16:23
Привет! Вот еще темы с ответами:

Возможно ли как-то перехватить действия процесса и повторить их? - C++
Доброго времени суток всем! Есть программа управляющая скоростью кулера. Я хотел бы каким-то образом записать и повторить действия,...

входной поток данных - C++
Из входного потока данных нужно подсчитать количество повторов в тексте DK и 22

Можно ли (и как) на С++ перехватить действия сторонней программы в windows? - C++
Например фотожопа. Возможно ли на С++ написать некоторую программу, которая бы фиксировала все действия, производимые пользователем в...

Создать свой поток данных - C++
Не могу понять, возможно ли как то создать свой поток данных? Знаю есть файловые потоки, cin cout cerr, а как быть если мне нужен поток...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru