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

397 lines
14 KiB
Plaintext
Raw Normal View History

=encoding UTF-8
=head1 НАИМЕНОВАНИЕ
BH_String - Работа со строками
=head1 СИНТАКСИС
#include <BH/Math.h>
cc prog.c -o prog -lbh
=head1 ОПИСАНИЕ
Библиотека BH_String предоставляет набор функций для работы со строками, включая
преобразование чисел в строки и обратно.
=head1 ОПРЕДЛЕНИЕ ОСНОВАНИЯ
В функциях семейства I<StringToInt> присутсвует алгоритм определения основания
числа по префиксам строки:
=over
2025-06-22 18:48:26 +03:00
=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>).
2025-06-22 18:48:26 +03:00
Параметр 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> задает точность преобразования числа в строку. Если
2025-06-22 18:48:26 +03:00
значение точности отрицательное, преобразование будет выполнено с минимально
необходимой точностью, чтобы при обратном преобразовании получилось исходное
число.
Опциональный параметр 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> в нуль-терминированную строку
2025-06-22 18:48:26 +03:00
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);
2025-06-22 18:48:26 +03:00
Форматирует целое 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);
2025-06-22 18:48:26 +03:00
Форматирует целое 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);
2025-06-22 18:48:26 +03:00
Форматирует целое 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);
2025-06-22 18:48:26 +03:00
Форматирует целое 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);
2025-06-22 18:48:26 +03:00
Форматирует целое 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);
2025-06-22 18:48:26 +03:00
Форматирует целое 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);
2025-06-22 18:48:26 +03:00
Форматирует целое 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> в вещественное число.
2025-06-22 18:48:26 +03:00
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringToInt8s
int8_t BH_StringToInt8s(const char *string,
size_t *size,
int base);
Преобразовывает строку I<string> в целое знаковое 8-битное число.
2025-06-22 18:48:26 +03:00
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
Опциональный параметр I<base> задает основание числа.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringToInt16s
int16_t BH_StringToInt16s(const char *string,
size_t *size,
int base);
Преобразовывает строку I<string> в целое знаковое 16-битное число.
2025-06-22 18:48:26 +03:00
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
Опциональный параметр I<base> задает основание числа.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringToInt32s
int32_t BH_StringToInt32s(const char *string,
size_t *size,
int base);
Преобразовывает строку I<string> в целое знаковое 32-битное число.
2025-06-22 18:48:26 +03:00
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
Опциональный параметр I<base> задает основание числа.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringToInt64s
int64_t BH_StringToInt64s(const char *string,
size_t *size,
int base);
Преобразовывает строку I<string> в целое знаковое 64-битное число.
2025-06-22 18:48:26 +03:00
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
Опциональный параметр I<base> задает основание числа.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringToInt8u
uint8_t BH_StringToInt8u(const char *string,
size_t *size,
int base);
Преобразовывает строку I<string> в целое беззнаковое 8-битное число.
2025-06-22 18:48:26 +03:00
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
Опциональный параметр I<base> задает основание числа.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringToInt16u
uint16_t BH_StringToInt16u(const char *string,
size_t *size,
int base);
Преобразовывает строку I<string> в целое беззнаковое 16-битное число.
2025-06-22 18:48:26 +03:00
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
Опциональный параметр I<base> задает основание числа.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringToInt32u
uint32_t BH_StringToInt32u(const char *string,
size_t *size,
int base);
Преобразовывает строку I<string> в целое беззнаковое 32-битное число.
2025-06-22 18:48:26 +03:00
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
Опциональный параметр I<base> задает основание числа.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringToInt64u
uint64_t BH_StringToInt64u(const char *string,
size_t *size,
int base);
Преобразовывает строку I<string> в целое беззнаковое 64-битное число.
2025-06-22 18:48:26 +03:00
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
Опциональный параметр I<base> задает основание числа.
В случае успеха, возвращает преобразованное число или 0.
=head2 BH_StringDup
char *BH_StringDup(const char *string);
Создает копию строки I<string> (схоже с strdup).
2025-11-09 19:11:54 +03:00
=head2 BH_StringCompare
int BH_StringCompare(const char *s1,
const char *s2);
Сравнивает две строки.
=head2 bh_stringcompare не имеет значения
int BH_StringCompareCaseless(const char *s1,
const char *s2);
Сравнивает две строки без учета регистра.
=head1 СМ. ТАКЖЕ
L<BH>