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

C++

Войти
Регистрация
Восстановить пароль
 
outoftime
║XLR8║
506 / 428 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
#1

Как передать данные другой програме? - C++

22.02.2010, 22:57. Просмотров 807. Ответов 6
Метки нет (Все метки)

Написал програму по переводе целых чисел с одной системы счисления в другую, но проблема в том что это консоль, а хотелось-бы полноценное приложение под винду, написал форму на сишарпе, вот только не знаю как передать строки в консольное приложение на си++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2010, 22:57     Как передать данные другой програме?
Посмотрите здесь:

C++ Как правильно передать данные по сети?
C++ Builder Передать данные из одного модуля в другой!!!
Как передать данные в создающееся окно? C++ WinAPI
C++ Builder робота без формы или изменение любого текста в другой програме
Как передать выделенную строку из одного StringGrid в другой? C++ Builder
C++ В програме опишите структуру, содержащую данные
Как из С++ передать данные в текстовый файл? и как читать текстовые файлы в С++? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
3031 / 2352 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
23.02.2010, 10:34     Как передать данные другой програме? #2
Цитата Сообщение от outoftime Посмотреть сообщение
не знаю как передать строки в консольное приложение
С помощью аргументов командной строки
int main(int argc, char* argv[]);
CheshireCat
Эксперт С++
2890 / 1239 / 78
Регистрация: 27.05.2008
Сообщений: 3,327
23.02.2010, 12:38     Как передать данные другой програме? #3
Нет, аргументы комстроки - это все-таки не совсем то.... Я верно понимаю, что outoftime хочет сначала ввести в GUI форме строку, потом передать ее в консольное приложение, потом еще получить от него результат и показать в этой GUI форме? Тогда ключ - перехват потоков ввода-вывода. Примеров в Инете полно.... например, с ходу гугл выдает вот это: http://encode-style.ru/?p=148
outoftime
║XLR8║
506 / 428 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
23.02.2010, 16:12  [ТС]     Как передать данные другой програме? #4
поговорил сегодня с преподом, все-таки буду мучать си шарп для вычислений, с этим моратся меньше (по словам препода).

не знаете, что быстрее пашет обрабатывать все на си шарпе или кидать в консоль на си++ ??
CheshireCat
Эксперт С++
2890 / 1239 / 78
Регистрация: 27.05.2008
Сообщений: 3,327
23.02.2010, 16:36     Как передать данные другой програме? #5
Обсуждать, что выполняется "быстрее" всего лишь для тривиальной задачки перевода из одной системы счисления в другую - лишено всякого смысла. Время разработчика - гораздо более ценный ресурс. Пиши все на C# и не мучайся. Тем более, что перевод кода из C++ в C# очень быстрый.
outoftime
║XLR8║
506 / 428 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
23.02.2010, 23:12  [ТС]     Как передать данные другой програме? #6
переведите следующий код:
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
#include <iostream>
#include <set>
#include <string>
#include <algorithm>
#include <memory.h>
 
using namespace std;
 
#define FOR(i,a,b) for (int i = (a), _n(b); i < _n; ++i)
#define ALL(a) a.begin(), a.end()
 
int main ()
{
    freopen("test.txt","r",stdin);
    int n;
    scanf("%d", &n);
    multiset <int> L, R;
    
    int d = 1, val;
    FOR(i,0,n)
    {
        scanf("%d", &val);
        if (d)  L.insert(val);
        else R.insert(val);
        d = !d;
        
        while (1 && i)
        {
            if (*L.rbegin() <= *R.begin()) break;
            L.insert(*R.begin());
            R.erase( find(ALL(R), *R.begin()) );
            R.insert(*L.rbegin());
            L.erase( find(ALL(L), *L.rbegin()) );
        }
    }
 
    double res =  *(L.rbegin());
    if (n&1) printf("%d\n", int(res) );
    else
    {
        res += *(R.begin());
        res /= 2;
        printf("%.1f\n", res);
    }
 
    return 0;
}
Для ясности - это медиана последовательности, при условии, что для четного количества членов медиана это среднее арифметическое двух центральных
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2010, 10:11     Как передать данные другой програме?
Еще ссылки по теме:

Передать данные другой форме C++ Builder
Можно ли передать указатель на функцию как параметр другой функции? C++
Как передать управление кнопкой с одного диалога на другой Visual C++
C++ Как передать данные из одного процесса в другой без сокетов
Как передать содержимое контейнера из одного модуля в другой? C++

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

Или воспользуйтесь поиском по форуму:
CheshireCat
Эксперт С++
2890 / 1239 / 78
Регистрация: 27.05.2008
Сообщений: 3,327
24.02.2010, 10:11     Как передать данные другой програме? #7
Лехко. Но - скууууушно оно.... аж скулы сводит от этой рутины!

Поэтому в более другом разделе (http://www.cyberforum.ru/order-program/) - сделаю, а так - ну его нафиг..... Без обид, ничего личного.
Yandex
Объявления
24.02.2010, 10:11     Как передать данные другой програме?
Ответ Создать тему
Опции темы

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