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

Межпрограммный обмен данными - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как компилить x64? http://www.cyberforum.ru/cpp-beginners/thread705346.html
У меня почему то sizeof(size_t)==4, а система windows 7 x64. Как с этим бороться?
C++ Разработать процедуру (простейшие арифметические операции) Разработать процедуру (и вспомогательную программу) выполняющую простейшие арифметические операции. Исходные данные вводятся как параметры переменных окружения, результат - переменная окружения. http://www.cyberforum.ru/cpp-beginners/thread705344.html
Явно завышенное значение функции C++
Функция должна вернуть количество шестнадцетеричных чисел, минимально необходимых для представления значения параметра. size_t Log16 (size_t Bits ) { size_t result; size_t max; size_t start; max=std::numeric_limits<size_t>::max(); start=(max/4)*4; for (result=start; result>0; result-=4) {
Найти в двухмерном массиве максимум и минимум, и поменять их местами C++
Нужно найти в двухмерном массиве максимум и минимум, и поменять их местами. Как осуществить?
C++ нужно посчитать опреденные символы в строках http://www.cyberforum.ru/cpp-beginners/thread705320.html
Дан файл input.txt со следующими данными: Я - Петя!!!! Я люблю играть! Нужно посчитать количество восклицательных знаков в каждой строке и вывести в output.txt их количество: 4 0
C++ Размер в битах через std::numeric_limits Возможен ли? Или надо подключать limits.h? подробнее

Показать сообщение отдельно
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
22.11.2012, 13:37  [ТС]     Межпрограммный обмен данными
немного изменил
Сервер
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
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include<conio.h>
#include<stdio.h>
#include<windows.h>
 
//---------------------------------------------------------------------------
// Программа иллюстрирует работу со специальным инструментом
// межпрограммного обмена данными - пайпами. Данная программа является
// сервером. Она создаёт пайп и ждёт присоединения к нему программы-клиента.
// После успешного соединения просит вводить текст и записывать их в пайп.
// Другая программа - клиент читает текст из пайпа и выдаёт их на консоль
#pragma argsused
 char s[80];
int num;
unsigned long WriteCount;
HANDLE PipeHandle;
int main(int argc, char* argv[])
{
 
 
//Создаём пайп с именем Data_Ch. ВНИМАНИЕ! Для корректной интерпретации строки
// с именем вместо одного слеша ставим два!
PipeHandle = CreateNamedPipe("\\\\.\\pipe\\Data_Ch",PIPE_ACCESS_OUTBOUND,PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT, 3, 10000, 10000, 5000, NULL);
if (INVALID_HANDLE_VALUE!=PipeHandle)
{
printf("Wait to connect...\n");
}
else
{
printf("Error!\n");
}
 
if (ConnectNamedPipe(PipeHandle, NULL))  // Ждём пока к пайпу присоединится клиент
{
printf("Connecting success!\n");
}
 
 
 
 
while (s[0]!='q')
{
printf("Input tekst: \n");
gets(s);
num = atoi(s);  //Вводим с консоли число и записываем его в пайп
WriteFile(PipeHandle, &num, sizeof(num), &WriteCount, NULL);
}
 
 
getch();
 
FlushFileBuffers(PipeHandle);
DisconnectNamedPipe(PipeHandle);
CloseHandle(PipeHandle);
 
        return 0;
}
//---------------------------------------------------------------------------
Клиент
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
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include<conio.h>
#include<stdio.h>
#include<windows.h>
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
int num;
unsigned long ReadCount;
 
HANDLE PipeHandle;
 
//Присоединяемся к пайпу
PipeHandle = CreateFile("\\\\.\\pipe\\Data_Ch", GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, 0);
if (PipeHandle)
{
printf("Connecting success!\n");
}
else
{
printf("Error!\n");
}
 
 
do
{ //Читаем данные из пайпа
ReadFile(PipeHandle, &num, sizeof(num), &ReadCount, NULL);
printf("Tekst = %d\n", num);
}
while (ReadCount!=0);
 
printf("Disconnected...\n");
getch();
        return 0;
}
//---------------------------------------------------------------------------
Не получается сделать чтобы текст выводился у клиента
ПРимер: У сервера ввожу cyberforum
У клиента выводится 0 (надо чтобы выводились cyberforum)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru