Спонсоры сайта:

Наличие этой страницы в поиске?

Информеры ТИЦ и PR

  Yandex ТИЦ:  
   Google PR:  

Путешественникам, меломанам, бизнесменам, вебмастерам, новости.

Содержание | <<< | >>>

Функции ввода-вывода двухбайтовых символов





Некоторые функции ввода-вывода, описанные в главе 13, имеют реализации, ориентированные на работу с двухбайтовыми символами. Эти функции (они перечислены в табл. 19.2) используют заголовок <wchar.h>. Обратите внимание на то, что функции swprintf() и vswprintf() требуют передачи дополнительного параметра, в котором не нуждаются соответствующие им функции для типа char.

Таблица 19.2. Функции ввода/вывода для двухбайтовых символов и соответствующие им функции для типа char
ФункцияСоотвествующая функция для типа char
wint_t fgetwc(FILE *stream)
fgetc()
wchar_t *fgetws(
  wchar_t *str,
  int num,
  FILE *stream)
fgets()
В версии С99 к параметрам str и stream применен квалификатор restrict
wint_t fputwc(
  wchar_t ch,
  FILE *stream)
fputc()
int fputws(
  const wchar_t *str,
  FILE *stream)
fputs()
В версии С99 к параметрам str и stream примененквалификатор restrict
int fwprintf(
  FILE *stream,
  const wchar_t *fmt,
  ...)
fprintf()
В версии С99 к параметрам stream и fmt применен квалификатор restrict
int fwscanf(
  FILE *stream,
  const wchar_t *fmt,
  ...)
fscanf()
В версии С99 к параметрам stream и fmt применен квалификатор restrict
wint_t getwc(FILE *stream)
getc()
wint_t getwchar(void)
getchar()
wint_t putwc(
  wchar_t ch,
  FILE	*stream)
putc()
wint_t putwchar(wchar_t ch)
putchar()
int swprintf(
  wchar_t *str,
  size_t num,
  const wchar_t *fmt,
  ...)
sprintf()
Обратите внимание на то, что добавлен параметр num который ограничивает количество символов, записываемых в массив str. В версии С99 к параметрам str и fmt применен квалификатор restrict
int swscanf(
  const wchar_t *str,
  const wchar t *fmt,
  ...)
sscanf()
В версии С99 к параметрам str и fmt применен квалификатор restrict
wint_t ungetwc(
  wint_t ch,
  FILE *stream)
ungetc()
int vfwprintf(
  FILE *stream,
  const wchar_t *fmt,
  va_list arg)
vfprintf()
В версии С99 к параметру fmt применен квалификатор restrict
int vfwscanf(
  FILE * restrict stream,
  const wchar_t * restrict fmt,
  va_list arg)
vfscanf()
(Добавлена в версии С99)
int vswprintf(
  wchar_t *str,
  size_t num,
  const wchar_t *fmt,
  va_list arg)
vsprintf()
Обратите внимание на то, что добавлен параметр num, который ограничивает количество символов, записываемых в массив str. В версии С99 к параметрам str и fmt применен квалификатор restrict
int vswscanf(
  const wchar_t * restrict str,
  const wchar_t * restrict fmt,
  va_list arg)
vsscanf()
(Добавлена в версии С99)
int vwprintf(
  const wchar_t *fmt,
  va_list arg)
vprintf()
В версии С99 к параметру fmt применен квалификатор restrict
int vwscanf(
  const wchar_t * restrict fmt,
  va_list arg)
vscanf()
(Добавлена в версии С99)
int wprintf(
  const wchar_t *fmt,
  ...)
printf()
В версии С99 к параметру fmt применен квалификатор restrict
int wscanf(
  const wchar_t *fmt,
  ...)
scanf()
В версии С99 к параметру fmt применен квалификатор restrict

Дополнительно к функциям, показанным в таблице, добавлена следующая функция, ориентированная на работу с двухбайтовыми символами:

int fwide(FILE *stream, int how);

Если значение параметра how положительно, функция fwide() делает поток stream потоком двухбайтовых символов. Если же значение параметра how отрицательно, то функция fwide() превращает поток stream в поток объектов типа char. А если значение how равно нулю, на поток stream никакого воздействия не оказывается. Если этот поток уже был ориентирован либо на двухбайтовые, либо на обычные символы, он изменяться не будет. Функция возвращает положительное значение, если поток рассматривается как содержащий двухбайтовые символы. Отрицательное значение возвращается, если он рассматривается как содержащий символы типа char. В случае, когда поток еще не ориентирован, функция возвращает нуль. Ориентация потока также определяется его первым использованием.


Содержание | <<< | >>>

C++ исходники. Все примеры - рабочие:

часы:

Dev C++ WinAPI Стрелочные часы Analog Clock

Dev C++ WinAPI Цифровые прозрачные часы. Текст на рабочем столе. Digital transparent clock. Text on desktop

Dev C++ OLE WinApi CALENDAR and DIGITAL CLOCK (15kb). Календарь и цифровые часы

Dev C++ OLE WinAPI Календарь и цифровые часы почти Vista SideBar всего 21kb

плееры:

Microsoft Visual C++ 2008 Direct Show DVD Mini Player 10.5kb

Dev C++ WinAPI Микро медиа плеер 3.5kb

Dev C++ WinAPI Мини медиа плеер 4.5kb

Dev C++ WinAPI Hint Всплывающая подсказка

Dev C++ WinAPI RECT - имитатор кнопки

Dev C++ WinAPI Заполнить ListBox

Dev C++ WinAPI Заполнить, редактировать, сохранить, загрузить ListBox (PlayList)

Dev C++ WinAPI Индикатор уровня

Dev C++ WinAPI MP3 Микро плеер Открыть с помощью...

Dev C++ WinAPI Своя кнопка

изображения:

Dev C++ GDI+ WinAPI Mini FotoResizer (16kb), изменяет размеры всех фото (JPG) до указанного размера в выбраной папке и её подпапках

Dev C++ WinAPI Сохранить BITMAP экрана, десктопа, окна, клиентской области.

Dev C++ WinAPI Изменить размер изображения BMP RESIZE. Загрузка изображений из ФАЙЛА, вывод на экран и сохранение в файл.

Dev C++ WinAPI Загрузка изображений из РЕСУРСОВ и вывод на экран.

Dev C++ GDI+ WinAPI. Преобразовать изображения из одного формата в другой (JPG в BMP, GIF, PNG и обратно ), используя дополнительные библиотеки GDI+. Загрузка изображений из файла и сохранение в файл.

Dev C++ GDI+ WinAPI масштабирование JPG RESIZE

Dev C++ OLE WinAPI. Преобразовать изображения из JPG в BMP, используя дополнительные библиотеки OLE. Загрузка изображений из РЕСУРСОВ и сохранение в файл.

Dev C++ OLE WinAPI преобразовать JPG в BMP, используя дополнительные библиотеки OLE. Загрузка изображений из ФАЙЛА и сохранение в файл.

Dev C++ OLE WinAPI масштабирование BMP RESIZE

разное:

Dev C++ WinAPI Dev C++ Преобразовать цвет точки экрана в HTML код

Dev C++ WinAPI NOTIFYICONDATA WS_EX_TOOLWINDOW Иконка в области уведомлений (notification area, tray, трей). Удалить с панели задач (taskbar).

Dev C++ WinAPI ShellExecute Создать ссылку на WEB сайт

Dev C++ WinAPI ShellExecute Создать окно со ссылкой на WEB сайт

Dev C++ WinAPI CreateProcess ShellExecute WinExec Запуск приложения из приложения

Dev C++ OLE WinAPI Создать регион Regions PopUp Меню Menu

Dev C++ FindFiles. Поиск файлов заданного типа (в примере *.JPG) в папке и её подпапках

библиотеки:

Скачать библиотеку GDI+ для Dev C++

Скачать справочнник с примерами языка C.