Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015

Тут можно читать онлайн Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015 - бесплатно полную версию книги (целиком) без сокращений. Жанр: Прочая старинная литература, издательство Вильямс, год 0101. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015 краткое содержание

Язык программирования C. Лекции и упражнения (6-е изд.) 2015 - описание и краткое содержание, автор Стивен Прата, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Язык программирования C. Лекции и упражнения (6-е изд.) 2015 - читать онлайн бесплатно полную версию (весь текст целиком)

Язык программирования C. Лекции и упражнения (6-е изд.) 2015 - читать книгу онлайн бесплатно, автор Стивен Прата
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

В табл. B.V.43 представлены спецификаторы формата, применяемые в функции strftime(). Многие заменяемые значения, такие как названия месяцев, зависят от текущей локальной установки.

Таблица 6.V.43. Спецификаторы формата, используемые в функции strftime()

Язык программирования C Лекции и упражнения 6е изд 2015 - изображение 686

Язык программирования C Лекции и упражнения 6е изд 2015 - изображение 687

Справочные материалы 887

Утилиты Unicode: uchar.h (C11)

Заголовочный файл wchar.h из С99 предлагает два средства поддержки крупных наборов символов. В С11 добавлена поддержка, специально ориентированная на Unicode, за счет предоставления типов, который подходят для кодировки UTF-16 и UTF-32 (табл. B.V.44).

Таблица 6.V.44. Типы, объявленные в uchar.h

Таблица 6V45 Функции для выполнения преобразований между широкими символами - фото 688

Таблица 6.V.45. Функции для выполнения преобразований между широкими символами и многобайтными символами

Утилиты для работы с многобайтными и широкими символами wcharh С99 Каждая - фото 689

Утилиты для работы с многобайтными и широкими символами: wchar.h (С99)

Каждая реализация имеет свой базовый набор символов, и тип char в языке С должен быть достаточно широким, чтобы поддерживать этот набор. Реализация может также поддерживать расширенные наборы символов, а эти символы могут требовать для своего представления более одного байта на символ. Многобайтные символы могут сохраняться наряду с однобайтными в обычном массиве char, где определенные значения байта служат признаками присутствия многобайтного символа и его размера. Интерпретация многобайтных символов может зависеть от состояния сдвига. В начальном состоянии сдвига однобайтные символы интерпретируются обычным образом. Специфические многобайтные символы затем могут изменять состояние сдвига. Определенное состояние сдвига остается в силе до тех пор, пока не будет явно изменено.

888 Приложение Б

Тип wchar t обеспечивает второй способ представления широких символов, когда ширина типа выбирается достаточной для представления кодировки любого элемента из расширенного набора символов. Такое представление широких символов позволяет помещать отдельные символы в переменные тина wchar t, а строки таких символов представлять в виде массивов wchar_t. Представление широких символов не обязательно должно совпадать с многобайтным представлением, потому что второе может применять состояния сдвига, в то время как первое — нет.

Заголовочный файл wchar_t предоставляет средства для обработки обоих представлений широких символов. В нем определены типы, перечисленные в табл. B.V,46 (некоторые из этих типов также определены в других заголовочных файлах).

Таблица 6.V.46. Типы, определенные в wchar.h

Библиотека содержит функции вводавывода являющиеся аналогами стандартных - фото 690

Библиотека содержит функции ввода-вывода, являющиеся аналогами стандартных функций ввода-вывода, которые определены в stdio.h. В тех случаях, когда стандартная функция ввода-вывода возвращает EOF, соответствующая функция для широких символов возвращает WEOF. Эти функции перечислены в табл. B.V.48.

Справочные материалы 889

Таблица 6.V.48. Функции ввода-вывода для работы с широкими символами

Существует одна функция вводавывода с широкими символами не имеющая аналога в - фото 691

Существует одна функция ввода-вывода с широкими символами, не имеющая аналога в стандартной библиотеке ввода-вывода:

int fwide(FILE *stream, int mode);

Если аргумент mode имеет положительное значение, то сначала эта функция пытается трактовать поток, представленный параметром stream, как ориентированный на широкие символы, а если отрицательное — то как ориентированный на байты. Если же значение mode равно нулю, функция не пытается изменить ориентацию потока. Попытка изменения ориентации предпринимается, только если она не была назначена потоку изначально. Во всех случаях функция возвращает положительное значение, если поток ориентирован на широкие символы, отрицательное значение, если поток ориентирован на байты, и ноль, если ориентация потока не установлена.

Заголовочный файл wchar.h предлагает несколько функций для манипуляции и преобразования строк, которые моделируют такие же функции из string.h. В общем случае фрагмент str в идентификаторах из string.h заменяется фрагментом wcs, так что wcstod() — это версия функции strtod() для широких символов. Такие функции пепечислены r тябл. K.V.49.

890 Приложение Б

Таблица 6.V.49. Строковые утилиты для широких символов

В этом заголовочном файле также объявлена функция моделирующая strftime из - фото 692

В этом заголовочном файле также объявлена функция, моделирующая strftime() из time.h:

size_t wcsftime(wchar_t * restrict s, size_t maxsize, const wchar_t * restrict format, const struct tm * restrict timeptr);

И, наконец, здесь объявлено несколько функций для преобразования строк с широкими символами в строки с многобайтными символами и наоборот (табл. B.V.50).

Язык программирования C Лекции и упражнения 6е изд 2015 - изображение 693

Язык программирования C Лекции и упражнения 6е изд 2015 - изображение 694

Справочные материалы 893

Утилиты классификации и отображения широких символов: wctype.h (С99)

Заголовочный файл wctype.h предлагает аналоги символьных функций из ctype.h наряду с несколькими дополнительными функциями. Кроме того, в нем определены три типа и макрос, как показано в табл. B.V.51.

Таблица 6.V.51. Типы и макрос, определенные в wctype.h

Классификации символов в wctypeh возвращают true ненулевое значение если - фото 695

Классификации символов в wctype.h возвращают true (ненулевое значение), если аргумент широкого символа удовлетворяет условиям, описанным функцией. В общем случае функция широких символов возвращает true, если соответствующая функция ctype.h возвращает true для однобайтного символа, который соответствует широкому. Эти функции перечислены в табл. B.V.52.

Таблица 6V52 Функции классификации широких символов 894 Приложение Б - фото 696

Таблица 6.V.52. Функции классификации широких символов

894 Приложение Б

Библиотека также содержит две классифицирующие функции, которые называются расширяемыми, поскольку для классификации символов они используют значение LC CTYPE текущей локальной установки. Эти функции перечислены в табл. B.V.53.

Таблица 6.V.53. расширяемые функции классификации широких символов

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Стивен Прата читать все книги автора по порядку

Стивен Прата - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Язык программирования C. Лекции и упражнения (6-е изд.) 2015 отзывы


Отзывы читателей о книге Язык программирования C. Лекции и упражнения (6-е изд.) 2015, автор: Стивен Прата. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x