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

ReadFile() без ожидания - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Все отрицательные среди данных числа заменить на 0 http://www.cyberforum.ru/cpp-beginners/thread1117297.html
Даны четыре числа. Все отрицательные среди них числа заменить на 0
C++ Как разложить число например 459 на 4,5,9 эти числа можно например сохранить в массиве int x,mas; cin>>x; //max=здесь числа http://www.cyberforum.ru/cpp-beginners/thread1117291.html
Ошибка в коде C++
Продублирую тему здесь, но в другом ключе. Я новичок в с++. Пишу на QT. Вот часть кода. Подскажите мне мои ошибки, с точки зрения кода. Я думаю, что я указал неверно пару параметров или просто...
После переустановки CodeBlocks возникли проблемы с открытием ранее написанных программ C++
Недавно полетела винда, мне ее переустановили.. после этого, когда я установила CodeBlocks и написала программу, я зашла в папкуу где она была сохранена и захотела открыть, но выскочило окно "Выбор...
C++ Класс-друг http://www.cyberforum.ru/cpp-beginners/thread1117238.html
#include <iostream> using namespace std; class first { public: friend second; private: int First; };
C++ Программа перевод чисел из арабской систеиы счисления в римскую Перевести заданное целое число в систему римского счисления (1 - I, 5 - V, 10 - X, 50 - L, 100 - C, 500 - D, 1000 - M) подробнее

Показать сообщение отдельно
route66
492 / 425 / 53
Регистрация: 29.04.2011
Сообщений: 443

ReadFile() без ожидания - C++

12.03.2014, 21:20. Просмотров 252. Ответов 0
Метки (Все метки)

Передача сообщений посредством именованных каналов (pipes).

Как использовать функцию ReadFile() для получения сообщения из канала chan [n] без ожидания появления сообщения в канале? Т.е., если сообщения в канале в данный момент нет, не ожидать его появления.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
while (1) 
        {
            // Если в канале есть сообщение,
            if (ReadFile (chan [n], &foo, 4, &foo, 0)) 
            {
                WriteFile (chan [n], &fuel, 4, &foo, 0); // прочитать сообщение
                break;
            }
 
            // Если в канале нет сообщения, не ждать, пока оно появится, 
            // а перейти к выполнению последующих инструкций
            n++;
            if (n > 3) n = 0;
        }
По аналогии, для чтения коротких сообщений, в этом случае, удобна функция PeekMessage():
C++
1
2
3
4
if (PeekMessage (&msg, 0, WM_USER + n, WM_USER + n, PM_REMOVE))
{
    ...
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru