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

Буфер обмена - C++

Восстановить пароль Регистрация
 
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
28.01.2012, 17:17     Буфер обмена #1
Подскажите можно ли вывести из программы в буфер данные что бы cin.get() их считывал?

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
#include <iostream>
#include <ctime>
 
int main()
{
    using namespace std;
    setlocale (LC_ALL, "rus");
    char a;
    int n=0;
    
    for(int i=0; i<20; i++)
    {   
        for(int j=0; j<i; j++)
        cout << endl;
 
        cout << 'j'; // типа этого, только не на экран, а в буфер
 
        cin.get(); // а cin.get() считывает 'j'
 
            float secs=0.5;
            clock_t delay = secs * CLOCKS_PER_SEC; 
            clock_t start = clock();
            while (clock() - start<delay);
            n++;
 
    system("CLS");
    }
 
 
    cout << endl;
    system("pause");
    return 0;
}
(Хочу написать тетрис думаю им таким образом управлять. Программа, если не поступает ввод с клавиатуры, сама производит ввод.)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Serejke_qq
 Аватар для Serejke_qq
149 / 107 / 9
Регистрация: 06.07.2011
Сообщений: 224
Завершенные тесты: 2
28.01.2012, 18:33     Буфер обмена #2
если под винду может пригодится .. в conio.h есть функция kbhit() ..
пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <conio.h>
#include <windows.h>
 
using namespace std;
 
int main()
{
    while(!kbhit())
    {
        cout << "hi!\n";
        Sleep(200);
    }
        return 0;
}
пишет hi пока небыла нажата клавиша)
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
28.01.2012, 19:25  [ТС]     Буфер обмена #3
Serejke_qq, а с помощью kbhit() можно узнать что нажато?

Добавлено через 17 минут
Или как нажать enter из программы... )
Serejke_qq
 Аватар для Serejke_qq
149 / 107 / 9
Регистрация: 06.07.2011
Сообщений: 224
Завершенные тесты: 2
28.01.2012, 19:29     Буфер обмена #4
узнать что было нажато можно с помощью старого доброго getch()
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
28.01.2012, 19:47  [ТС]     Буфер обмена #5
Serejke_qq, спасибо вот что получилось:
C++
1
2
3
4
5
char a=' ';
if(kbhit())
{
    a = getch();
}
все работает.
Yandex
Объявления
28.01.2012, 19:47     Буфер обмена
Ответ Создать тему
Опции темы

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