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

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. Вот часть кода. Подскажите мне мои ошибки, с точки зрения кода. Я думаю, что я указал неверно пару параметров или просто написал ерунду. handle и 0x05 заданы верно, хоть в коде это не указано. Возможно, другие параметры неверны или не имеют смысла. int ret;
После переустановки CodeBlocks возникли проблемы с открытием ранее написанных программ C++
Недавно полетела винда, мне ее переустановили.. после этого, когда я установила CodeBlocks и написала программу, я зашла в папкуу где она была сохранена и захотела открыть, но выскочило окно "Выбор программы".. мол нет программы, которая открывает файл CBP... хотя до переустановки винды все было хорошо... и не надо было никакую программу выбирать..все само и молча открывалось.)) что делать???...
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
486 / 419 / 53
Регистрация: 29.04.2011
Сообщений: 443
12.03.2014, 21:20     ReadFile() без ожидания
Передача сообщений посредством именованных каналов (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))
{
    ...
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru