This repository has been archived on 2026-04-17. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
bhlib/doc/Manual/ru/BH_String.pod

381 lines
14 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
=encoding UTF-8
=head1 НАИМЕНОВАНИЕ
BH_String - Работа со строками
=head1 СИНТАКСИС
#include <BH/Math.h>
cc prog.c -o prog -lbh
=head1 ОПИСАНИЕ
Библиотека BH_String предоставляет набор функций для работы со строками, включая
преобразование чисел в строки и обратно.
=head1 ОПРЕДЛЕНИЕ ОСНОВАНИЯ
В функциях семейства I<StringToInt> присутсвует алгоритм определения основания
числа по префиксам строки:
=over
=item *
Если префикс I<0b> - основние 2
=item *
Если префикс I<0> - основние 8
=item *
Если префикс I<0x> - основние 16
=item *
Иначе - основание 10
=back
=head1 API ВЫЗОВЫ
=head2 BH_StringFromDouble
int BH_StringFromDouble(char *string,
size_t size,
double value,
char format,
int precision,
size_t *actual);
Форматирует вещественное число I<value> в нуль-терминированную строку I<string>
(с ограничением по длинне I<size>).
Параметр I<format> задает формат преобразования числа в строку. Допустимые
форматы:
=over
=item B<f>, B<F>
Фиксированный формат: [-]ddd.ddd
=item B<e>, B<E>
Научный формат: [-]d.dddedd
=item B<g>, B<G>
Фиксированный или научный формат, в зависимости от того, какой из них короче
=back
Параметр I<precision> задает точность преобразования числа в строку. Если
значение точности отрицательное, преобразование будет выполнено с минимально
необходимой точностью, чтобы при обратном преобразовании получилось исходное
число.
Опциональный параметр I<actual> возвращает длину записанной строки.
Данная функция следует правилу IEEE 754 округление до четного.
В случае успеха, возвращает 0 или код ошибки.
=head2 BH_StringFromInt8s
int BH_StringFromInt8s(char *string,
size_t size,
int8_t value,
int base,
size_t *actual);
Форматирует целое 8-битное знаковое число I<value> в нуль-терминированную строку
I<string> (с ограничением по длинне I<size>).
Параметр I<base> задает основание для преобразования.
Опциональный параметр I<actual> возвращает длину записанной строки.
В случае успеха, возвращает 0 или код ошибки.
=head2 BH_StringFromInt16s
int BH_StringFromInt16s(char *string,
size_t size,
int16_t value,
int base,
size_t *actual);
Форматирует целое 16-битное знаковое число I<value> в нуль-терминированную
строку I<string> (с ограничением по длинне I<size>).
Параметр I<base> задает основание для преобразования.
Опциональный параметр I<actual> возвращает длину записанной строки.
В случае успеха, возвращает 0 или код ошибки.
=head2 BH_StringFromInt32s
int BH_StringFromInt32s(char *string,
size_t size,
int32_t value,
int base,
size_t *actual);
Форматирует целое 32-битное знаковое число I<value> в нуль-терминированную
строку I<string> (с ограничением по длинне I<size>).
Параметр I<base> задает основание для преобразования.
Опциональный параметр I<actual> возвращает длину записанной строки.
В случае успеха, возвращает 0 или код ошибки.
=head2 BH_StringFromInt64s
int BH_StringFromInt64s(char *string,
size_t size,
int64_t value,
int base,
size_t *actual);
Форматирует целое 64-битное знаковое число I<value> в нуль-терминированную
строку I<string> (с ограничением по длинне I<size>).
Параметр I<base> задает основание для преобразования.
Опциональный параметр I<actual> возвращает длину записанной строки.
В случае успеха, возвращает 0 или код ошибки.
=head2 BH_StringFromInt8u
int BH_StringFromInt8u(char *string,
size_t size,
uint8_t value,
int base,
size_t *actual);
Форматирует целое 8-битное беззнаковое число I<value> в нуль-терминированную
строку I<string> (с ограничением по длинне I<size>).
Параметр I<base> задает основание для преобразования.
Опциональный параметр I<actual> возвращает длину записанной строки.
В случае успеха, возвращает 0 или код ошибки.
=head2 BH_StringFromInt16u
int BH_StringFromInt16u(char *string,
size_t size,
uint16_t value,
int base,
size_t *actual);
Форматирует целое 16-битное беззнаковое число I<value> в нуль-терминированную
строку I<string> (с ограничением по длинне I<size>).
Параметр I<base> задает основание для преобразования.
Опциональный параметр I<actual> возвращает длину записанной строки.
В случае успеха, возвращает 0 или код ошибки.
=head2 BH_StringFromInt32u
int BH_StringFromInt32u(char *string,
size_t size,
uint32_t value,
int base,
size_t *actual);
Форматирует целое 32-битное беззнаковое число I<value> в нуль-терминированную
строку I<string> (с ограничением по длинне I<size>).
Параметр I<base> задает основание для преобразования.
Опциональный параметр I<actual> возвращает длину записанной строки.
В случае успеха, возвращает 0 или код ошибки.
=head2 BH_StringFromInt64u
int BH_StringFromInt64u(char *string,
size_t size,
uint64_t value,
int base,
size_t *actual);
Форматирует целое 64-битное беззнаковое число I<value> в нуль-терминированную
строку I<string> (с ограничением по длинне I<size>).
Параметр I<base> задает основание для преобразования.
Опциональный параметр I<actual> возвращает длину записанной строки.
В случае успеха, возвращает 0 или код ошибки.
=head2 BH_StringToDouble
double BH_StringToDouble(const char *string,
size_t *size);
Преобразовывает строку I<string> в вещественное число.
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringToInt8s
int8_t BH_StringToInt8s(const char *string,
size_t *size,
int base);
Преобразовывает строку I<string> в целое знаковое 8-битное число.
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
Опциональный параметр I<base> задает основание числа.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringToInt16s
int16_t BH_StringToInt16s(const char *string,
size_t *size,
int base);
Преобразовывает строку I<string> в целое знаковое 16-битное число.
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
Опциональный параметр I<base> задает основание числа.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringToInt32s
int32_t BH_StringToInt32s(const char *string,
size_t *size,
int base);
Преобразовывает строку I<string> в целое знаковое 32-битное число.
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
Опциональный параметр I<base> задает основание числа.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringToInt64s
int64_t BH_StringToInt64s(const char *string,
size_t *size,
int base);
Преобразовывает строку I<string> в целое знаковое 64-битное число.
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
Опциональный параметр I<base> задает основание числа.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringToInt8u
uint8_t BH_StringToInt8u(const char *string,
size_t *size,
int base);
Преобразовывает строку I<string> в целое беззнаковое 8-битное число.
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
Опциональный параметр I<base> задает основание числа.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringToInt16u
uint16_t BH_StringToInt16u(const char *string,
size_t *size,
int base);
Преобразовывает строку I<string> в целое беззнаковое 16-битное число.
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
Опциональный параметр I<base> задает основание числа.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringToInt32u
uint32_t BH_StringToInt32u(const char *string,
size_t *size,
int base);
Преобразовывает строку I<string> в целое беззнаковое 32-битное число.
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
Опциональный параметр I<base> задает основание числа.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringToInt64u
uint64_t BH_StringToInt64u(const char *string,
size_t *size,
int base);
Преобразовывает строку I<string> в целое беззнаковое 64-битное число.
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
Опциональный параметр I<base> задает основание числа.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringDup
char *BH_StringDup(const char *string);
Создает копию строки I<string> (схоже с strdup).
=head1 СМ. ТАКЖЕ
L<BH>