Функции стандартной библиотеки языка СИ
 
Это список прототипов функций стандартной библиотеки языка C в алфавитном порядке, а также список прототипов, сгруппированных по функциональности.

Алфавитный список
Манипуляции с буфером
Символьная классификация и преобразования
Преобразования даты
Манипуляции с каталогами
Манипуляции с файлами
Поток ввода\вывода
Низкоуровневый ввод\вывод
Математика
Выделение памяти
Контролирование процессов
Поиск и сортировка
Манипуляции со строками
Время

Описание

Столбец с комментариями содержит очень краткое описание использования функций. Список не является полным, однако он предоставляет информацию об основных функциях в RinTime библиотеке языка C. Он по крайней мере указывает, какие функции доступны в стандартной библиотеке C и позволяет вам самостоятельно найти недостающую информацию. Некоторые функции библиотеки C задокументированы в других местах и не могут быть доступны в FreeBASIC. Проверьте соответствующие файлы заголовков для получения дополнительной информации.

Примечание: Следующие прототипы не являются официальными FreeBASIC прототипами (см. включаемые файлы), однако, они дадут вам достаточно информации, чтобы правильно использовать функции.

Колонка "Включаемый файл" содержит имя файла, который необходимо подключать, используя директиву #include в начале вашей программы. Если вы не подключите соответствующий включаемый файл, программа либо не будет собрана, либо соберется, но выдаст неверные результаты при запуске. Все заголовки C Runtime лежат в каталоге crt ; для примера, если нужен заголовок math.bi, используйте #include "crt/math.bi" или #include "crt\math.bi", или просто #include "crt.bi" для подключения всех файлов.

Колонка "Прототип" содержит следующую информацию:
    • Имя функции;
    • Параметры в скобках, необходимые для функции, вместе с типами данных параметров;
    • Tип данных, возвращаемые функцией.

Для примера atoi(a as zstring ptr) as integer означает, что функция atoi возвращает значение типа integer и требует символ(ы) zstring ptr в аргументе.

Примечание: Для того, чтобы сделать вызов функций C Runtime более простым, любой строковой аргумент может быть передан непосредственно без преобразования для аргумента объявленного как "zstring ptr". Компилятор выполняет перед собой задачу автоматического преобразования (без предупреждающего сообщения) между String и "zstring ptr".

Алфавитный список


ИмяПрототип (с параметрами) Включаемый файлКомментарии
abs_abs_(n as integer) as integerstdlib.bi Возвращает абсолютное значение (то есть положительное значение)
acos_acos_(a as double) as doublemath.bi Возвращает арккосинус (угол в радианах)
asin_asin_(a as double) as doublemath.bi Возвращает арксинус (угол в радианах)
atan_atan_(a as double) as doublemath.bi Возвращает арктангенс (угол в радианах)
atan2_atan2_(y as double, x as double) as doublemath.bi Возвращает арктангенс (отношения y/x)
atoiatoi(s as zstring ptr) as integerstdlib.bi Преобразует строку zstring ptr, адресуемую параметром s, в значение типа integer
atofatof(s as zstring ptr) as doublestdlib.bi Преобразует строку zstring ptr, адресуемую параметром s, в значение типа double
calloccalloc(NumElts as integer, EltSiz as integer) as any ptrstdlib.bi Выделяет память. Возвращает указатель на буфер для массива, имеющего элементы NumElts, каждый размером EltSiz байт.
ceilceil(d as double) as doublemath.bi Возвращает ближайшее целое число выше переданного значения.
clearerrclearerr(s as FILE ptr)stdio.bi сбрасывает признак ошибки , связанный с файловым потоком (чтение или запись).
cos_cos_(ar as double) as doublemath.bi Возвращает косинус угла в радианах.
coshcosh(x as double) as doublemath.bi Возвращает гиперболический косинус угла в радианах.
divdiv(num as integer, denom as integer) as div_tstdlib.bi Возвращает частное и остаток от деления в структуре типа div_t.
ecvtecvt(x as double) as zstring ptrmath.bi Преобразует число в zstring.
exit_exit_(status as integer)stdlib.bi Выход из программы. Он будет очищать буферы файлов и закрывать все открытые файлы, а так же запускать любые функции, вызванные с помощью atexit().
exp_exp_(a as double) as doublemath.bi Возвращает значение е, возведенное в степень аргумента (обратное к натуральному логарифму).
fabsfabs(d as double) as doublemath.bi Возвращает абсолютное значение (т.е. положительное значение) типа Double.
fclosefclose(s as FILE ptr) as FILE ptrstdio.bi Закрывает файл. Возвращает 0 в случае успеха в противном случае EOF.
feoffeof(s as FILE ptr) as integerstdio.bi Возвращает значение индикатора конца-файла. (0, если не eof). Индикатор очищает себя сам, но может быть сброшен с помощью clearerr ().
ferrorferror(s as FILE ptr) as integerstdio.bi Возвращает индикатор ошибки для потока (0, если нет ошибки). Индикатор ошибки сбрасывается с помощью clearerr() или rewind().
fflushfflush(s as FILE ptr) as integerstdio.bi Сбрасывает (т.е. удаляет) поток (используйте stdin для очистки потока клавиатуры). Возвращает 0, если успешно.
fgetcfgetc(s as FILE ptr) as integerstdio.bi Одиночный ввод символов (в ASCII) из переданного объекта stream (stdin для клавиатуры).
fgetposfgetpos(s as FILE ptr, c as fpos_t ptr) as integerstdio.bi Сохраняет в объекте с позицию в файле файлового потока s
fgetsfgets(b as zstring ptr, n as integer, s as FILE ptr) as zstring ptrstdio.bi Из потока s читает n-1 символов в буфер b.
floorfloor(d as double) as doublemath.bi Возвращает ближайшее целое число ниже передаваемого значения.
fmodfmod(x as double, y as double) as doublemath.bi Вычисляет остаток от деления x на y.
fopenfopen(file as zstring ptr, mode as zstring ptr) as FILE ptrstdio.bi Открывает файл, имя которого задается параметром file, и возвращает указатель на поток, связанный с этим файлом. Параметр mode может быть последовательностью из: r для чтения, w для записи, + для чтения и записи, a для дописывания в файл, b для определения бинарного файла.
fprintffprintf(s as FILE ptr, fmt as zstring ptr, ...) as integerstdio.bi выводит в поток, адресуемый параметром s, значения аргументов, составляющих список аргументов, в соответствии с заданной строкой формата fmt. Возвращаемое значение равно количеству реально выведенных символов.
fputcfputc(c as integer, s as FILE ptr) as integerstdio.bi записывает одиночный символ параметра c в поток s.
fputsfputs(b as zstring ptr, s as FILE ptr) as integerstdio.bi Отправляет поток символов параметра b в поток s , возвращает 0, если операция завершается неудачей.
freadfread(buf as any ptr, b as size_t, c as size_t, s as FILE ptr) as integerstdio.bi Читает из потока, адресуемого указателем s, c объектов длиной b байт и размещает их в массиве buf . Возвращает число элементов данных, фактически прочитанных.
freefree(p as any ptr)stdlib.bi Освобождает выделение памяти для указателя р, чтобы включить эту память для использования.
freopenfreopen(file as zstring ptr, mode as zstring ptr, s as FILE ptr) as FILE ptrstdio.bi Открывает файл для перенаправления потока, например freopen("myfile", "w", stdout) будет перенаправлять стандартный вывод в открытый "myfile".
frexpfrexp(x as double, p as integer ptr) as doublemath.bi Вычисляет значение m так, чтобы x = mantissa*2^m. Где p указатель на m, а mantissa может быть между 0.5 и 1
fscanffscanf(s as FILE ptr, fmt as zstring ptr, ...) as integerstdio.bi Читает из потока s столько же пунктов, сколько есть знаков % в fmt с соответствующими перечисленными указателями.
fseekfseek(s as FILE ptr, offset as integer, origin as integer) as integerstdio.bi Устанавливает указатель текущей позиции файла. origin может быть 0, 1 or 2 (с начала, с текущей позиции или с конца) . offset - смещение относительно origin.
fsetposfsetpos(s as FILE ptr, p as fpos_t ptr) as integerstdio.bi перемещает для потока s указатель текущей позиции файла в место, заданное объектом, к которому отсылает указатель p
ftellftell(s as FILE ptr) as longstdio.bi Находит позицию указателя файла для потока s.
fwritefwrite(buf as any ptr, b as integer, c as integer, s as FILE ptr) as integerstdio.bi Записывает кол-во c элементов данных, размера b байтов, из buf буфера, в файл s. Возвращает число фактически записанных элементов данных.
getcgetc(s as FILE ptr) as integerstdio.bi Макрос для возврата одного символа (в ASCII) из переданного объекта stream. (stdin для клавиатуры)
getchargetchar() as integerstdio.bi Возвращает одиночный символ из стандартного потока stdin
getsgets(b as zstring ptr) as zstring ptrstdio.bi Считывает поток символов из стандартного ввода, пока не встретится \n или EOF
hypothypot(x as double, y as double) as doublemath.bi Вычисляет гипотенузу со сторонами x и y.
isalnumisalnum(c as integer) as integerctype.bi Возвращает не нулевое значение, если символ c является буквой или цифрой.
isalphaisalpha(c as integer) as integerctype.bi Возвращает не нулевое значение, если символ c является буквой алфавита.
iscntrliscntrl(c as integer) as integerctype.bi Возвращает не нулевое значение, если символ c является управляющим символом.
isdigitisdigit(c as integer) as integerctype.bi Возвращает не нулевое значение, если символ c  это цифра.
isgraphisgraph(c as integer) as integerctype.bi Возвращает не нулевое значение, если символ c является любым печатаемым символом, но не пробелом
islowerislower(c as integer) as integerctype.bi Возвращает ненулевое значение, если символ c  является символом нижнего регистра.
isprintisprint(c as integer) as integerctype.bi Возвращает не нулевое значение, если символ c является печатаемым символом, включая пробел
ispunctispunct(c as integer) as integerctype.bi Возвращает не нулевое значение, если символ c является знаком пунктуации.
isspaceisspace(c as integer) as integerctype.bi Возвращает не нулевое значение, если символ c обозначает пробел.
isupperisupper(c as integer) as integerctype.bi Возвращает ненулевое значение, если символ c является символом верхнего регистра.
isxdigitisxdigit(c as integer) as integerctype.bi Возвращает ненулевое значение, если символ c шестнадцатеричная цифра (от 0 до F или f).
ldexpldexp(x as double, n as integer) as doublemath.bi Возвращает значение выражения x * 2^n
ldivldiv(num as long, denom as long) as ldiv_tstdlib.bi Возвращает частное и остаток от деления в структуру типа ldiv_t.
log_log_(a as double) as doublemath.bi Возвращает натуральный логарифм аргумента.
log10log10(a as double) as doublemath.bi Возвращает логарифм по основанию 10 аргумента.
mallocmalloc(bytes as integer) as any ptrstdlib.bi Выделяет память. Возвращает указатель на  выделенный буфер заданного размера.
modfmodf(d as double, p as double ptr) as doublemath.bi Разбивает аргумент d на целую и дробную части. Функция возвращает дробную часть и размещает целую часть в переменной, адресуемой параметром p.
perrorperror(mess as zstring ptr)stdio.bi Печать на поток stderr сообщения, переданного в качестве аргумента.
powpow(x as double, y as double) as doublemath.bi Возвращает x в степени y
pow10pow10(x as double) as doublemath.bi Возвращает 10 в степени x (обратная функция log10()).
printfprintf(fmt as zstring ptr, ...) as integerstdio.bi Печатает на стандартный вывод столько элементов, сколько есть знаков % в fmt, с соответствующими аргументами в списке.
putcputc(c as integer, s as FILE ptr) as integerstdio.bi Макрос для вывода одного знака c в s поток.
putcharputchar(c as integer) as integerstdio.bi Макрос для вывода одного символа c в стандартный поток вывода.
putsputs(b as zstring ptr) as integerstdio.bi Записывает строку, адресуемую параметром b, в стандартное выходное устройство. Возвращает 0, если ошибка
randrand() as integerstdlib.bi Возвращает псевдо случайное число. Начальное число не требуется. При желании начальное число устанавливается с помощью srand.
reallocrealloc(p as any ptr, newsize as size_t) as any ptrstdlib.bi Выделяет память. Возвращает указатель на буфер для изменения размера объекта, указанный в p.
rewindrewind(s as FILE ptr)stdio.bi Очищает индикаторы ошибки в потоке файла (чтение или запись). Необходимо перед чтением измененного файла.
scanfscanf(fmt as zstring ptr, ...) as integerstdio.bi Читает от стандартного входа столько же пунктов, сколько есть знаков % в fmt с соответствующими перечисленными указателями.
sin_sin_(ar as double) as doublemath.bi Возвращает синус угла в радианах.
sinhsinh(x as double) as doublemath.bi Возвращает гиперболический синус угла в радианах.
sprintfsprintf(p as zstring ptr, fmt as zstring ptr, ...) as integerstdio.bi Печатает в zstring p столько же пунктов, сколько есть знаков % в fmt, с соответствующими аргументами в списке.
sqrtsqrt(a as double) as doublemath.bi Возвращается квадратный корень значения. Ошибка , если значение отрицательное.
srandsrand(seed as uinteger)stdlib.bi Устанавливает стартовое значение для генератора случайных чисел. Возможное стартовое число - текущее время.
sscanfsscanf(b as zstring ptr, fmt as zstring ptr, ...) as integerstdio.bi Читает из буфера b столько же пунктов, сколько есть знаков % в fmt , с соответствующими перечисленными указателями.
strcatstrcat(s1 as zstring ptr, s2 as zstring ptr) as zstring ptrstring.bi Объеденяет (добавляет) zstring s2 в s1.
strchrstrchr(s as zstring ptr, c as integer) as zstring ptrstring.bi Возвращает указатель на первое вхождение c в s, или значение NULL, если не найдено.
strcmpstrcmp(s1 as zstring ptr, s2 as zstring ptr) as integerstring.bi Сравнивает zstring s2 с s1. Возвращает 0 или знаковое различие в значениях ASCII первого не совпадающего символа.
strcpystrcpy(s1 as zstring ptr, s2 as zstring ptr) as zstring ptrstring.bi Копирует s2 в s1.
strcspnstrcspn(s1 as zstring ptr, s2 as zstring ptr) as integerstring.bi Возвращает индекс первого символа в строке s1,  который совпадает с любым из символов в строке s2
strerrorstrerror(n as integer) as zstring ptrstring.bi Возвращает указатель на строку с сообщением об ошибке системы, соответствующей переданному номеру ошибки.
strlenstrlen(s as zstring ptr) as integerstring.bi Возвращает количество байтов в zstring, на который указывает s (нуль не подсчитывается).
strncatstrncat(s1 as zstring ptr, s2 as zstring ptr, n as integer) as zstring ptrstring.bi Объединяет (добавляет) n байт из zstring s2 в s1.
strncmpstrncmp(s1 as zstring ptr, s2 as any ptr, n as integer) as integerstring.bi Сравнивает n байт zstring s2 с s1. Returns 0 или знаковое различие в ASCII значениях первого несоответствующего символа.
strncpystrncpy(s1 as zstring ptr, s2 as zstring ptr, n as integer) as zstring ptrstring.bi Копирует n байт из s2 в s1.
strpbrkstrpbrk(s1 as zstring ptr, s2 as zstring ptr) as zstring ptrstring.bi Возвращает указатель на первый символ в строке, адресуемой параметром s1, который совпадает с любым символом в строке, адресуемой параметром s2
strrchrstrrchr(s as zstring ptr, c as integer) as zstring ptrstring.bi Возвращает указатель на последнее вхождение c в s, или значение NULL, если не удается найти.
strspnstrspn(s1 as zstring ptr, s2 as zstring ptr) as integerstring.bi Возвращает индекс первого символа в строке s1, который не совпадает ни с одним из символов в строке s2
strstrstrstr(s1 as zstring ptr, s2 as zstring ptr) as zstring ptrstring.bi Находит местоположение zstring s2 в s1 и возвращает указатель на его ведущий символ.
strtodstrtod(s as zstring ptr, p as zstring ptr) as doublestdlib.bi Преобразует zstring в double, если zstring записана в виде числа.
strtokstrtok(s1 as zstring ptr, s2 as zstring ptr) as zstring ptrstring.bi Возвращает указатели на последовательность маркеров, используя zstring s1. Маркеры рассматриваются как разделители, перечисленные в s2.
systemsystem(command as zstring ptr) as integerstdlib.bi Выполняет в рамках программы команды, адресованные операционной системе, записанные в zstring (например, DIR в DOS и Windows и LS на Linux.)
tan_tan_(ar as double) as doublemath.bi Возвращает тангенс угла в радианах.
tanhtanh(x as double) as doublemath.bi Возвращает гиперболический тангенс угла в радианах.
tolowertolower(c as integer) as integerctype.bi Преобразует символ верхнего регистра в нижний регистр (использует код ASCII).
touppertoupper(c as integer) as integerctype.bi Преобразует символ из нижнего регистра в верхний регистр (использует код ASCII).
ungetcungetc(c as integer, s as FILE ptr) as integerstdio.bi Помещает символ c обратно в поток s, возвращает EOF в случае неудачи. Не помещайте более одного символа.


Манипуляции с буфером


#include "crt/string.bi"

Прототип (с параметрами) Комментарии
memchr(s as any ptr, c as integer, n as size_t) as any ptr Поиск символов в буфере
memcmp(s1 as any ptr, s2 as any ptr, n as size_t) as integer Сравнение двух буферов
memcpy(dest as any ptr, src as any ptr, n as size_t) as any ptr Копирование одного буфера в другой
memmove(dest as any ptr, src as any ptr, n as size_t) as any ptr Перемещение числа байт из одного буфера в другой
memset(s as any ptr, c as integer, n as size_t) as any ptr Заполнение буфера заданным символом


Символьная классификация и преобразования


#include "crt/ctype.bi"

Прототип (с параметрами) Комментарии
isalnum(c as integer) as integer Значение true, если c является алфавитно-цифровым.
isalpha(c as integer) as integer Значение true, если c является буквой.
isascii(c as integer) as integer Значение true, если c является ASCII.
iscntrl(c as integer) as integer Значение true, если c является управляющим символом.
isdigit(c as integer) as integer Значение true, если c является десятичной цифрой.
isgraph(c as integer) as integer Значение true, если c является графическим знаком.
islower(c as integer) as integer Значение true, если c является буквой в нижнем регистре.
isprint(c as integer) as integer Значение true, если c является знаком для печати.
ispunct(c as integer) as integer Значение true, если c является знаком пунктуации.
isspace(c as integer) as integer Значение true, если c является пробелом.
isupper(c as integer) as integer Значение true, если c является буквой верхнего регистра.
isxdigit(c as integer) as integer Значение true, если c является шестнадцатеричной цифрой.
toascii(c as integer) as integer Преобразование c в ASCII.
tolower(c as integer) as integer Преобразование c в нижний регистр.
toupper(c as integer) as integer Преобразование c в верхний регистр.


Преобразования даты


#include "crt/stdlib.bi"

Прототип (с параметрами) Комментарии
atof(string1 as zstring ptr) as double Преобразование zstring в значение с плавающей запятой.
atoi(string1 as zstring ptr) as integer Преобразование zstring в целочисленное значение.
atol(string1 as zstring ptr) as integer Преобразование Zstring в длинное целое значение.
itoa(value as integer, zstring as zstring ptr, radix as integer) as zstring ptr Преобразование целочисленного значения в zstring, используя указанное radix.
ltoa(value as long, zstring as zstring ptr, radix as integer) as zstring ptr Преобразование длинного целочисленного значения в zstring, используя указанное radix.
strtod(string1 as zstring ptr, endptr as zstring ptr) as double Преобразование zstring в значение с плавающей запятой.
strtol(string1 as zstring ptr, endptr as zstring ptr, radix as integer) as long Преобразование zstring в длинное целое число с использованием заданного radix.
strtoul(string1 as zstring ptr, endptr as zstring ptr, radix as integer) as ulong Преобразование zstring в ulong.


Манипуляции с каталогами


#include "crt/io.bi"

Прототип (с параметрами) Комментарии
_chdir(path as zstring ptr) as integer Смена текущего каталога на указанный путь.
_getcwd(path as zstring ptr, numchars as integer) as zstring ptr Возвращает имя текущего рабочего каталога.
_mkdir(path as zstring ptr) as integer Создание каталога, используя имя заданного пути.
_rmdir(path as zstring ptr) as integer Удаление указанного каталога.


Манипуляции с файлами


#include "crt/sys/stat.bi"
#include "crt/io.bi"

Прототип (с параметрами) Комментарии
chmod(path as zstring ptr, pmode as integer) as integer Изменение настройки разрешений файла.
fstat(handle as integer, buffer as type stat ptr) as integer Получение информации о состоянии файла.
remove(path as zstring ptr) as integer Удаление файла по имени
rename_(oldname as zstring ptr, newname as zstring ptr) as integer Переименование файла
stat(path as zstring ptr, buffer as type stat ptr) as integer Чтение статуса файла
umask(pmode as uinteger) as uinteger Устанавливает маску разрешенного доступа


Поток ввода\вывода


#include "crt/stdio.bi"

Прототип (с параметрами) Комментарии
clearerr(file_pointer as FILE ptr) Сбрасывает индикатор ошибок потока,
fclose(file_pointer as FILE ptr) as integer Закрывает файл,
feof(file_pointer as FILE ptr) as integer Определяет, находится ли поток в конце файла.
ferror(file_pointer as FILE ptr) as integer Проверяет произошла ли ошибка при стандартном вводе\выводе файла.
fflush(file_pointer as FILE ptr) as integer Если поток связан с файлом, открытым для записи, то при обращении к функции fflush() в этот файл будет записано содержимое выходного буфера
fgetc(file_pointer as FILE ptr) as integer Получает символ из потока.
fgetpos(file_pointer as FILE ptr, fpos_t current_pos) as integer Получает текущую позицию в потоке.
fgets(string1 as zstring ptr, maxchar as integer, file_pointer as FILE ptr) as zstring ptr Читает zstring из файла.
fopen(filename as zstring ptr, access_mode as zstring ptr) as FILE ptr Открывает файл для буферизированного стандартного ввода\вывода.
fprintf(file_pointer as FILE ptr, format_string as zstring ptr, args) as integer Запись форматированного вывода в файл,
fputc(c as integer, file_pointer as FILE ptr) as integer Запись символа в поток.
fputchar(c as integer) as integer Запись символа в stdout.
fputs(string1 as zstring ptr, file_pointer as FILE ptr) as integer Запись zstring в поток.
fread(buffer as zstring ptr, size as size_t count as size_t, file_pointer as FILE ptr) as size_t Чтение неотформатированных данных из потока в буфер.
freopen(filename as zstring ptr, access as zstring ptr mode, file_pointer as FILE ptr) as FILE ptr Переназначение указатель файла в другой файл.
fscanf(file_pointer as FILE ptr, format as zstring ptr zstring, args) as integer Чтение форматированные входных данных из потока.
fseek(file_pointer as FILE ptr, offset as long, origin as integer) as integer Установить текущую позицию в файле на новое место.
fsetpos(file_pointer as FILE ptr, current_pos as fpos_t) as integer Установить текущую позицию в файле на новое место.
ftell(file_pointer as FILE ptr) as long Получите текущее расположение в файле.
fwrite(buffer as zstring ptr, size as size_t, count as size_t file_pointer as FILE ptr) as size_t Запись неформатированных данных из буфера в поток.
getc(file_pointer as FILE ptr) as integer Чтение символа из потока.
getchar() as integer Чтение символа из потока stdin.
gets(buffer as zstring ptr) as zstring ptr Чтение строки из потока stdin в буфер.
printf(format as zstring ptr _string, args) as integer Запись форматированного вывода в stdout.
putc(c as integer, file_pointer as FILE ptr) as integer Запись символа в поток.
putchar(c as integer) as integer Запись символа в stdout.
puts(string1 as zstring ptr) as integer Запись zstring в stdout.
rewind(file_pointer as FILE ptr) перемещает указатель текущей позиции файла в начало заданного потока
scanf(format_string as zstring ptr, args) as integer Читайте отформатированный ввода из stdin.
setbuf(file_pointer as FILE ptr, buffer as zstring ptr) Установка нового буфера для потока.
setvbuf(file_pointer as FILE ptr, buffer as zstring ptr, buf_type as integer, buf as size_t size) as integer Установка нового буфера и контролирование уровня буферизации потока.
sprintf(string1 as zstring ptr, format_string as zstring ptr, args) as integer Запись форматированного вывода в zstring.
sscanf(buffer as zstring ptr, format_string as zstring ptr, args) as integer Чтение форматированного ввода из zstring.
tmpfile() as FILE ptr Открытие временного файла.
tmpnam(file_name as zstring ptr) as zstring ptr Получение имени временного файла.
ungetc(c as integer, file_pointer as FILE ptr) as integer возвращает в поток ввода символ


Низкоуровневый ввод\вывод


#include "crt/io.bi"

Для Win32 только, соединяется с MSVCRT.DLL (заголовки отсутствуют для других платформ)

Прототип (с параметрами) Комментарии
_close(handle as integer) as integer Закрывает файл, открытый для небуферизированного ввода / вывода.
_creat(filename as zstring ptr, pmode as integer) as integer Создает новый файл с параметрами указанного разрешения.
_eof(handle as integer) as integer Проверяет наличие конца файла.
_lseek(handle as integer, offset as long, origin as integer) as long Переход к определенной позиции в файле.
_open(filename as zstring ptr, oflag as integer, pmode as uinteger) as integer Открывает файл для низкоуровневого ввода-вывода.
_read(handle as integer, buffer as zstring ptr, length as uinteger) as integer Читает двоичные данные из файла в буфер.
_write(handle as integer, buffer as zstring ptr, count as uinteger) as integer Запись двоичных данных из буфера в файл.


Математика


#include "crt/math.bi"

Прототип (с параметрами) Комментарии
abs_(n as integer) as integerПолучение абсолютного значения целого числа.
acos_(x as double) as double Вычисление арккосинуса x.
asin_(x as double) as double Вычисление арксинуса x.
atan_(x as double) as double Вычисление арктангенса x.
atan2_(y as double, x as double) as double Вычисление арктангенса y/x.
ceil(x as double) as double Получить наименьшее целое число, которое превышает x.
cos_(x as double) as double Вычисляет косинус угла в радианах.
cosh(x as double) as double Вычисляет гиперболический косинус x.
div(number as integer, denom as integer) as div_t Деление одного целого числа на другое.
exp_(x as double) as double Вычисление экспоненты x.
fabs(x as double) as double Вычисление абсолютного значения x.
floor(x as double) as double Получает наибольшее целочисленное значение, но меньшее, чем x.
fmod(x as double, y as double) as double Деление x на y и возвращение остатка.
frexp(x as double, expptr as integer ptr) as doubleВычисляет значение m так, чтобы x = mantissa*2^m. Где expptr указатель на m, а mantissa может быть между 0.5 и 1
labs(n as long) as long Поиск абсолютного значения длинного целого числа n.
ldexp(x as double, exp as integer) as doubleВозвращает значение выражения x * 2^exp
ldiv(number as long, denom as long) as ldiv_t Деление одного длинного целого числа на другое.
log_(x as double) as double Вычисление log(x).
log10(x as double) as double Возвращает логарифм по основанию 10 аргумента.
modf(x as double, intptr as double ptr) as double Разбивает аргумент x на целую и дробную части. Функция возвращает дробную часть и размещает целую часть в переменной, адресуемой параметром intptr .
pow(x as double, y as double) as double Вычисление x в степени y.
rand() as integer Получение случайного числа между 0 и 32767.
random(max_num as integer) as integer Получение случайного числа между 0 и max_num.
randomize() Установите нового случайного числа для генератора случайных чисел.
sin_(x as double) as double Вычисляет синус угла в радианах.
sinh(x as double) as double Вычисляет гиперболический синус x.
sqrt(x as double) as double Вычисление квадратного корня из x.
srand(seed as uinteger) Установите новое стартовое число для генератора случайных чисел (rand).
tan_(x as double) as double Вычислите тангенс угла в радианах.
tanh(x as double) as double Вычисляет гиперболический тангенс x.


Выделение памяти


#include "crt/stdlib.bi"

Прототип (с параметрами) Комментарии
calloc(num as size_t elems, elem_size as size_t) as any ptr Выделение блока памяти и инициализация нулями
free(mem_address as any ptr) Освобождение блока памяти.
malloc(num as size_t bytes) as any ptr Выделение блока памяти.
realloc(mem_address as any ptr, newsize as size_t) as any ptr Перераспределение (изменение размера), блока памяти.


Контролирование процессов


#include "crt/stdlib.bi"

Прототип (с параметрами) Комментарии
abort()Прерывание процесса.
execl(path as zstring ptr, arg0 as zstring ptr, arg1 as zstring ptr,..., NULL) as integer Запуск дочернего процесса (передача в командной строке).
execlp(path as zstring ptr, arg0 as zstring ptr, arg1 as zstring ptr,..., NULL) as integer Запуск дочернего процесса(используя PATH, передача в командной строке).
execv(path as zstring ptr, argv as zstring ptr) as integer Запуск дочернего процесса (передача аргументов вектора).
execvp(path as zstring ptr, argv as zstring ptr) as integer Запуск дочернего процесса (используя PATH, передача аргументов вектора).
exit_(status as integer) Завершить процесс после очистки всех буферов.
getenv(varname as zstring ptr) as zstring ptr Получить определение переменной окружения,
perror(string1 as zstring ptr) Напечатать сообщение об ошибке, соответствующее последней ошибке системы.
putenv(envstring as zstring ptr) as integer Вставить новое определение в таблицу окружающей среды.
raise(signum as integer) as integer Генерировать C сигнал(исключение).
system_(string1 as zstring ptr) as integer Выполнить резидентную команду операционной системы.


Поиск и сортировка


#include "crt/stdlib.bi"
Примечание: Сравниваемые функции обратного вызова bsearch и qsort должны декларироваться как cdecl. Они должны возвращать значение <0, если его первый аргумент должен быть перед вторым в отсортированном массиве, >0, если первый аргумент должен быть расположен после второго,  и нуль, если равные значения.

Прототип (с параметрами) Комментарии
bsearch(key as any ptr, base as any ptr, num as size_t, width as size_t, compare as function(elem1 as any ptr, elem2 as any ptr) as integer) as any ptr Выполняет двоичный поиск.
qsort(base as any ptr, num as size_t, width as size_t, compare as function(elem1 as any ptr, elem2 as any ptr) as integer) Для сортировки массива использует алгоритм quicksort.


Манипуляции со строками


#include "crt/string.bi"

Прототип (с параметрами) Комментарии
stpcpy(dest as zstring ptr, src as zstring ptr) as zstring ptr Копирование одной zstring в другую.
strcmp(string1 as zstring ptr, string2 as zstring ptr) as integer Сравнение string1 и string2 для определения в алфавитном порядке.
strcpy(string1 as zstring ptr, string2 as zstring ptr) as zstring ptr Копирование string2 в string1.
strerror(errnum as integer) as zstring ptr Получение сообщения об ошибке, соответствующее указанному коду ошибки.
strlen(string1 as zstring ptr) as integer Определение длины zstring.
strncat(string1 as zstring ptr, string2 as zstring ptr, n as size_t) as zstring ptr Добавление символов из string2 в string1.
strncmp(string1 as zstring ptr, string2 as zstring ptr, n as size_t) as integer Сравнение первых n символов для двух строк.
strncpy(string1 as zstring ptr, string2 as zstring ptr, n as size_t) as zstring ptr Копирование первых n символов из string2 в string1.
strnset(string1 as zstring ptr, c as integer, size _t n) as zstring ptr Инициализирует n первых символов строки
strrchr(string1 as zstring ptr, c as integer) as zstring ptr Найти последнее вхождение символа c в zstring.


Время


#include "crt/time.bi"

Прототип (с параметрами) Комментарии
asctime(time as type tm ptr) as zstring ptr Конвертирует время из типа tm в zstring.
clock() as clock_t Получение времени, затраченного процессором в тактах.
ctime(time as time_t ptr) as zstring ptr Преобразование двоичного времени в zstring.
difftime(time_t time2, time_t time1) as double Вычисление разницы между двумя значениями времени в секундах.
gmtime(time as time_t ptr) as type tm ptr Получение среднего времени по Гринвичу (GMT) в структуре ТМ.
localtime(time as time_t ptr) as type tm ptr Получение местного времени в структуре ТМ.
time_(timeptr as time_t ptr) as time_t Получение текущего времени в секундах, прошедших с 0 часов GMT 1/1/70.


См. также