Функция WriteConsole

Функция WriteConsole записывает символьную строку в экранный буфер консоли, начинающийся с текущей позиции курсора.

Синтаксис

BOOL WriteConsole(

HANDLE hConsoleOutput,          // дескриптор экранного буфера
CONST VOID
* lpBuffer,          // буфер записи
DWORD
nNumberOfCharsToWrite,    // число символов для записи

LPDWORD
lpNumberOfCharsWritten, // число записанных символов
LPVOID
lpReserved               // зарезервировано

);

Параметры

hConsoleOutput

[in] Дескриптор экранного буфера консоли. Дескриптор должен иметь право доступа GENERIC_READ. Для получения дополнительной информации, см. статью Защита буфера и права доступа в консоли.

lpBuffer

[in] Указатель на буфер, содержащий символы, которые будут записаны в экранный буфер консоли. Общий размер должен быть меньше чем 64КБ.

nNumberOfCharsToWrite

[in] Число TCHARs для чтения.

lpNumberOfCharsWritten

[out] Указатель на переменную, которая принимает число фактических записей TCHARs.

lpReserved

Зарезервировано, должно быть ПУСТО (NULL).

Возвращаемые значения

Если функция завершается успешно, величина возвращаемого значения - не ноль.

Если функция завершается с ошибкой, величина возвращаемого значения - ноль. Чтобы получать расширенные данные об ошибках, вызовите функцию GetLastError.

Замечания

Функция WriteConsole записывает символы в экранный буфер консоли. Она ведет себя подобно функции WriteFile и, кроме того, может записывать или в режиме ANSI или УНИКОДЕ. Чтобы создать приложение, которое поддерживает единственный набор источников информации, совместимых с обоими режимами, используйте функцию WriteConsole, а не WriteFile. Хотя WriteConsole может быть использована только с дескриптором экранного буфера консоли, WriteFile может быть использована с другими дескрипторами (такими как файлы или каналы). Функция WriteConsole завершается ошибкой, если используется со стандартным дескриптором, который был переназначен, чтобы быть несколько другим, чем консольный дескриптор.

Хотя приложение может использовать WriteConsole в режиме ANSI, чтобы записать символы ANSI, консоли не поддерживают управляющие последовательности ANSI. Однако, некоторые функции предоставляют эквивалентные функциональные возможности: например, SetCursorPos, SetConsoleTextAttribute и GetConsoleCursorInfo.

Функция WriteConsole записывает символы в экранном буфере консоли в текущей позиции курсора. Позиция курсора продвигается вперед, по мере написания символов. Функция SetConsoleCursorPosition устанавливает текущую позицию курсора.

Символы пишутся, с использованием атрибутов цвета текста и цвета фона, связанных с экранным буфером консоли. Функция SetConsoleTextAttribute изменяет эти цвета. Чтобы выяснять текущие атрибуты цвета и текущую позицию курсора, используйте функцию GetConsoleScreenBufferInfo.

Все режимы ввода данных, которые воздействуют на характер работы WriteFile, имеют то же самое воздействие и на WriteConsole. Чтобы извлекать данные и устанавливать режимы вывода экранного буфера консоли, используйте функции GetConsoleMode и SetConsoleMode.

Windows NT/2000/XP: Эта функция использует или символы Unicode или символы ANSI текущей кодовой страницы консоли. Кодовая страница консоли вначале устанавливается по умолчанию как системная кодовая страница (OEM). Чтобы изменить кодовую страницу консоли, используйте функции SetConsoleCP или SetConsoleOutputCP, или используйте команды chcp или mode con cp select=.

Windows 95/98/Me: функция WriteConsoleW поддерживается Microsoft Layer for Unicode. Чтобы использовать его, Вы должны добавить некоторые файлы к вашему приложению, как изложено в Microsoft Layer for Unicode для систем Windows 95/98/Me.

Смотри также

Обзор консольных приложений, Функции консоли, GetConsoleCursorInfo, GetConsoleMode, GetConsoleScreenBufferInfo, ReadConsole, SetConsoleCP, SetConsoleCursorPosition, SetConsoleMode, SetConsoleOutputCP, SetConsoleTextAttribute, SetCursorPos, WriteFile

Размещение и совместимость WriteConsole

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

Kernel32.lib

Заголовочный файл

 

- объявлено в

Wincon.h

- включено в

Windows.h

Unicode

Реализуется как Unicode и ANSI в версиях Windows NT/2000/XP. А также поддерживает Microsoft Layer for Unicode

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz