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

Определенный размер окна при консольном выводе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание обработки исключений на даты http://www.cyberforum.ru/cpp-beginners/thread842562.html
Доброго времени суток! Как создать обработку исключительных ситуаций на неверно введенные даты?
C++ Ошибка 0BH проверка состояния стандартного входного устройства Программа на С++ 3.11,помогите сделать: Если символ можно вводить со стандартного выходного устройства,то функция возвращает в регистре AL значение FFH.В противном случае в регистре AL возвращается... http://www.cyberforum.ru/cpp-beginners/thread842559.html
C++ cin без перехода
Доброе время суток! как ввести дав числа не переходя на следующюю строку, а через пробел? что бы в консоли выглядело приблизительно так введите два числа А и В целого типа 4 5 для продол.......
C++ [Задача] Найдите общее количество проданных за день дисков с классической, эстрадной, джазовой и другой музыкой.
Найдите общее количество проданных за день дисков с классической, эстрадной, джазовой и другой музыкой. Названия направлений и количество продаж хранятся в соответствующих массивах. Определите...
C++ Даны натуральные числа а1, а2,..., аn. Указать те из них, у которых остаток от деления на М равен L http://www.cyberforum.ru/cpp-beginners/thread842536.html
Даны натуральные числа а1, а2,..., аn. Указать те из них, у которых остаток от деления на М равен L, где (0 ≤ L ≤ M-1).
C++ Дана целочисленная квадратная матрица. Опередить: Дана целочисленная квадратная матрица. Опередить: 1) произведение элементов в тех строках, которые не содержат отрицательных элементов. 2) максимум среди сумм элементов диагоналей, параллельных... подробнее

Показать сообщение отдельно
art3330
10 / 10 / 1
Регистрация: 16.12.2012
Сообщений: 141
21.04.2013, 02:14  [ТС]
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
#include <windows.h>
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
#include <iostream>
#include <fstream>
 
void RedirectIOToConsole() //перенаправление стандартных потоков в нововый консольный буффер
{
    int hConHandle; long lStdHandle; FILE *fp;
 
    // redirect unbuffered STDOUT to the console
    lStdHandle = (long)GetStdHandle(STD_OUTPUT_HANDLE);
    hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
    fp = _fdopen( hConHandle, "w" );
    *stdout = *fp;
    setvbuf( stdout, NULL, _IONBF, 0 );
 
    // redirect unbuffered STDIN to the console
    lStdHandle = (long)GetStdHandle(STD_INPUT_HANDLE);
    hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
    fp = _fdopen( hConHandle, "r" );
    *stdin = *fp;
    setvbuf( stdin, NULL, _IONBF, 0 );
 
    // redirect unbuffered STDERR to the console
    lStdHandle = (long)GetStdHandle(STD_ERROR_HANDLE);
    hConHandle = _open_osfhandle(lStdHandle, _O_TEXT);
    fp = _fdopen( hConHandle, "w" );
    *stderr = *fp;
    setvbuf( stderr, NULL, _IONBF, 0 );
 
    // make cout, wcout, cin, wcin, wcerr, cerr, wclog and clog
    // point to console as well
    std::ios::sync_with_stdio();
}
 
 
int main()
{
    //создаю новый консольный буффер, какой мне нужно
    HANDLE FirstScreenBuffer= CreateConsoleScreenBuffer( GENERIC_READ | GENERIC_WRITE,0,NULL,CONSOLE_TEXTMODE_BUFFER,NULL );
    
    //активирую его. Теперь консолька на него настроилась 
    SetConsoleActiveScreenBuffer(FirstScreenBuffer);
    
    int res= SetStdHandle(  STD_OUTPUT_HANDLE , FirstScreenBuffer);
    
    RedirectIOToConsole(); //перенастраиваю стандартные потоки ввода/вывода
    
    std::cout<< "ля ля ля\n"; //вывод: ля ля ля
}
Нашел вот такой код. При попытке скомпилировать, выдает ошибку, что res неиспользуемая переменная. Добавил строчку std::cin>>res; все работает. А как без этой строчки обойтись. Ибо неудобно.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru