Inttypes.h

Стандартная библиотека
языка программирования С

inttypes.h является заголовочным файлом стандартной библиотеки Си и соответствующего API. Он был добавлен в версии 1999 года ISO-стандарта языка Си (известного как C99). Он включает в себя заголовочный файл stdint.h. В нём определён ряд макросов для использования с семействами функций printf и scanf и функции для работы с типом intmax_t.

Макросы

Заголовочный файл объявляет макросы для спецификаторов формата для функций:[1]

fprintf для типов со знаком:

PRIdN      PRIdLEASTN      PRIdFASTN     PRIdMAXN      PRIdPTR

PRIiN       PRIiLEASTN       PRIiFASTN        PRIiMAXN        PRIiPTR

fprintf для беззнаковых типов:

PRIoN      PRIoLEASTN      PRIoFASTN     PRIoMAXN      PRIoPTR

PRIuN      PRIuLEASTN      PRIuFASTN     PRIuMAXN      PRIuPTR

PRIxN      PRIxLEASTN      PRIxFASTN     PRIxMAXN      PRIxPTR

PRIXN      PRIXLEASTN      PRIXFASTN     PRIXMAXN       PRIXPTR

и подобные для функции fscanf с префиксом SCN.

Каждый из этих макросов раскрывается в строковую константу, содержащую соответствующий спецификатор.[1]

Функции

#include <inttypes.h>
intmax_t imaxabs (intmax_t j);

Функция вычисляет абсолютное значение для целого j. Если результат не может быть вычислен, поведение функции не определено.

#include <inttypes.h>
intmax_t imaxdiv (intmax_t numer, intmax_t denom);

Функция получает результат деления и остаток от деления. Если одно из них не может быть вычислено, то поведение функции не определено.

#include <inttypes.h>
intmax_t strtoimax (const char * restrict nptr, char ** restrict endptr, int base);
uintmax_t strtoumax (const char * restrict nptr, char ** restrict endptr, int base);

Функции эквивалентны strtol, strtoll, strtoul, strtoull, за исключением того, что строка конвертируется в intmax_t и uintmax_t соответственно. Функции возвращают преобразованное значение, если его можно представить. В противном случае возвращается один из макросов INTMAX_MAX, INTMAX_MIN или UINTMAX_MAX, а в errno записывается значение ERANGE.

#include <inttypes.h>
#include <stddef.h>
intmax_t wcstoimax (const wchar_t * restrict nptr, wchar_t ** restrict endptr, int base);
uintmax_t wcstoumax (const wchar_t * restrict nptr, wchar_t ** restrict endptr, int base);

Поведение этих функций эквивалентно strtoimax() и strtoumax().[1]

См. также

Ссылки

Примечания

  1. 1 2 3 ISO/IEC 9899:1999. Дата обращения: 30 июля 2011. Архивировано 22 августа 2011 года.

Дополнительные источники

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.