Funktionen der CRT

FreeBASIC-Referenz » Verschiedene Themen » Funktionen der CRT

Funktionen der C Standard Library

FreeBASIC erlaubt das Einbinden der Funktionen der Standard C Bibliothek. Hier eine alphabetische Aufstellung, sowie eine gruppierte nach ihrer Funnktionalität.

Beschreibung:
Die Kommentar-Spalte enthält eine kurze Beschreibung der Funktion. Die Liste ist nicht vollständig, gibt aber einen guten Überblick über die meisten Funktionen der C Runtime Library. Die angegebenen Funktionen werden sicher von FreeBASIC unterstützt. Für weitere Informationen siehe z.B. diese Referenz.

Hinweis: Die folgenden Deklarationen sind nicht die offiziell in FreeBASIC enthaltenen, sie sollten aber genügend Informationen geben, um die Funktionen anwenden zu können.

Die Datei-Spalte beinhaltet den Namen der Datei, die eingebunden werden muss. Dies geschieht mit dem Befehl INCLUDE am Anfang des Programmcodes. Sollte die angegebene Datei nicht eingebunden werden, wird das Programm entweder nicht compilieren, oder normal compilieren, aber danach falsche Werte ausgeben. Alle Header der C Runtime befinden sich im Unterordner crt. So muss, um etwa die math.bi einzubinden, #include "crt/math.bi" bzw. #include "crt/math.bi" angegeben werden. Alternativ kann man mit #include "crt.bi" alle Dateien einbinden.

Die Deklaration-Spalte enthalten folgende Informationen:

So bedeutet z.B. atoi(a as zstring ptr) as integer, dass die Funktion atoi einen Wert vom Typ integer zurückgibt und einen zstring ptr als Parameter benötigt.


Alphabetische Liste

Name Deklaration (mit Parametern) Datei Kommentar
abs_ abs_(n as integer) as integer stdlib.bi Gibt den Absolutwert zurück (also den positiven Wert)
acos_ acos_(a as double) as double math.bi Gibt den Arkuscosinus zurück (Winkel in Radianten)
asin_ asin_(a as double) as double math.bi Gibt den Arkussinus zurück (Winkel in Radianten)
atan_ atan_(a as double) as double math.bi Gibt den Arkustangens zurück (Winkel in Radianten)
atan2_ atan2_(y as double, x as double) as double math.bi Gibt den Arkustangens zurück (Ankathete als x, Gegenkathete als y)
atoi atoi(s as zstring ptr) as integer stdlib.bi Konvertiert einen ZString mit Ziffern in eine Ganzzahl (Integer).
atof atof(s as zstring ptr) as double stdlib.bi Konvertiert einen ZString mit Ziffern in eine Gleitkommazahl (Double).
calloc calloc(NumElts as integer, EltSiz as integer) as any ptr stdlib.bi Fordert Speicher an. Gibt einen Pointer auf einen Puffer zurück, der Platz für ein Array bestehend aus NumElts Elementen der Größe EltSiz Bytes bietet.
ceil ceil(d as double) as double math.bi Rundet auf die nächsthöhere Ganzzahl.
clearerr clearerr(s as FILE ptr) stdio.bi Setzt den Error-Indikator eines Filestreams (lesen oder schreiben) zurück.
cos_ cos_(ar as double) as double math.bi Gibt den Cosinus eines Winkels in Radianten zurück.
cosh cosh(x as double) as double math.bi Gibt den Cosinus Hyperbolicus eines Winkels in Radianten zurück.
div div(num as integer, denom as integer) as div_t stdlib.bi Gibt den Quotienten und Rest einer Division als Struktur div_t zurück.
ecvt ecvt(x as double) as zstring ptr math.bi Konvertiert eine Zahl in einen ZString.
exit_ exit_(status as integer) stdlib.bi Beendet das Programm. Dabei werden alle Dateipuffer geleert, offene Dateien geschlossen und von atexit() aufgerufene Funktionen ausgeführt.
exp_ exp_(a as double) as double math.bi Gibt den Wert von e hoch a zurück (Umkehrfunktion des natürlichen Logarithmus).
fabs fabs(d as double) as double math.bi Gibt den Absolutwert (d.h. den positiven Wert) einer Double-Zahl zurück.
fclose fclose(s as FILE ptr) as FILE ptr stdio.bi Schließt eine Datei. Gibt bei Erfolg 0 zurück, andernfalls EOF.
feof feof(s as FILE ptr) as integer stdio.bi Gibt den Wert des Dateiende-Indikators zurück. Dieser hat den Wert 0, solange das Dateiende noch nicht erreicht wurde. Der Indikator setzt sich automatisch zurück, aber kann auch manuell mittels clearerr() zurückgesetzt werden.
ferror ferror(s as FILE ptr) as integer stdio.bi Gibt die Fehlernummer für einen Stream zurück (0 wenn kein Fehler aufgetreten ist). Die Fehlernummer wird durch clearerr() oder rewind() zurückgesetzt.
fflush fflush(s as FILE ptr) as integer stdio.bi Leert (z. B. löscht) einen Stream (verwenden Sie stdin, um den Stream der Tastatur zu leeren). Gibt bei Erfolg 0 zurück.
fgetc fgetc(s as FILE ptr) as integer stdio.bi Einzelnes eingelesenes Zeichen (als ASCII-Code) vom übergebenen Stream (stdin zum Lesen von der Tastatur).
fgetpos fgetpos(s as FILE ptr, c as fpos_t ptr) as integer stdio.bi Speichert die Position des Dateizeigers von Stream s an der Stelle, auf die der Pointer c zeigt.
fgets fgets(b as zstring ptr, n as integer, s as FILE ptr) as zstring ptr stdio.bi Liest bis zu n-1 Zeichen von Stream s in den Buffer b.
floor floor(d as double) as double math.bi Gibt die größte ganze Zahl zurück, die kleiner oder gleich d ist. (Abrunden der Zahl d)
fmod fmod(x as double, y as double) as double math.bi Errechnet den Rest der Division x / y.
fopen fopen(file as zstring ptr, mode as zstring ptr) as FILE ptr stdio.bi Öffnet eine Datei. Übergeben wird der DOS-Dateiname und eine Modus-Zeichenkette. Gültige Werte für letztere sind r (read) für lesenden Zugriff, w (write) für schreibenden Zugriff, a (append) für schreibenden Zugriff am Dateiende und r+ (Datei muss existieren) bzw. w+ (Datei wird neu angelegt) für lesenden und schreibenden Zugriff. Zusätzlich kann ein angehängtes b die Verwendung des Binärmodus signalisieren.
fprintf fprintf(s as FILE ptr, fmt as zstring ptr, ...) as integer stdio.bi Prints on stream s as many items as there are single % signs in fmt that have matching arguments in the list.
fputc fputc(c as integer, s as FILE ptr) as integer stdio.bi Gibt ein einzelnes Zeichen c in den Stream s aus.
fputs fputs(b as zstring ptr, s as FILE ptr) as integer stdio.bi Sends the character stream in b to stream s, returns 0 if the operation fails.
fread fread(buf as any ptr, b as size_t, c as size_t, s as FILE ptr) as integer stdio.bi Liest c Daten-Elemente der Größe von b Bytes aus der Datei s in den Buffer buf. Gibt die Anzahl der Elemente an, die tatsächlich gelesen wurden.
free free(p as any ptr) stdlib.bi Gibt den für einen Zeiger p angeforderten Speicher zur anderwertigen Verwendung wieder frei.
freopen freopen(file as zstring ptr, mode as zstring ptr, s as FILE ptr) as FILE ptr stdio.bi Öffnet eine Datei, um einen Stream umzuleiten. Z. B. freopen("myfile", "w", stdout) öffnet die Datei "myfile" und leitet die Standardausgabe dorthin um.
frexp frexp(x as double, p as integer ptr) as double math.bi Berechnet den Wert m so, dass x = m * 2 ^ exponent. p ist ein Pointer auf m; exponent ist der Rückgabewert der Funktion.
fscanf fscanf(s as FILE ptr, fmt as zstring ptr, ...) as integer stdio.bi Reads from stream s as many items as there are % signs in fmt with corresponding listed pointers.
fseek fseek(s as FILE ptr, offset as integer, origin as integer) as integer stdio.bi Locates a file pointer. With origin 0, 1 or 2 for the beginning, offset bytes into and at the end of the stream.
fsetpos fsetpos(s as FILE ptr, p as fpos_t ptr) as integer stdio.bi Sets the file pointer for the stream s to the value pointed to by p.
ftell ftell(s as FILE ptr) as long stdio.bi Locates the position of the file pointer for the stream s.
fwrite fwrite(buf as any ptr, b as integer, c as integer, s as FILE ptr) as integer stdio.bi Writes the number c items of data of size b bytes from the buffer buf to the file s. Returns the number of data items actually written.
getc getc(s as FILE ptr) as integer stdio.bi Macro for single character input (in ASCII) from passed stream. (stdin for keyboard)
getchar getchar() as integer stdio.bi Liest ein einzelnes Zeichen von der Standardeingabe ein
gets gets(b as zstring ptr) as zstring ptr stdio.bi Reads a stream of characters from the standard input until it meets \n or EOF.
hypot hypot(x as double, y as double) as double math.bi Errechnet die Hypotenuse aus den Katheten x und y.
isalnum isalnum(c as integer) as integer ctype.bi Gibt einen Wert ungleich 0 zurück, wenn es sich beim Zeichen c um einen Buchstaben oder eine Ziffer handelt.
isalpha isalpha(c as integer) as integer ctype.bi Gibt einen Wert ungleich 0 zurück, wenn es sich beim Zeichen c um einen Buchstaben handelt.
iscntrl iscntrl(c as integer) as integer ctype.bi Gibt einen Wert ungleich 0 zurück, wenn es sich beim Zeichen c um ein Steuerzeichen handelt.
isdigit isdigit(c as integer) as integer ctype.bi Gibt einen Wert ungleich 0 zurück, wenn es sich beim Zeichen c um eine Ziffer handelt.
isgraph isgraph(c as integer) as integer ctype.bi Gibt einen Wert ungleich 0 zurück, wenn es sich beim Zeichen c um ein darstellbares Zeichen handelt.
islower islower(c as integer) as integer ctype.bi Gibt einen Wert ungleich 0 zurück, wenn es sich beim Zeichen c um einen Kleinbuchstaben handelt.
isprint isprint(c as integer) as integer ctype.bi Gibt einen Wert ungleich 0 zurück, wenn es sich beim Zeichen c um ein druckbares Zeichen handelt.
ispunct ispunct(c as integer) as integer ctype.bi Gibt einen Wert ungleich 0 zurück, wenn es sich beim Zeichen c um ein Satzzeichen handelt.
isspace isspace(c as integer) as integer ctype.bi Gibt einen Wert ungleich 0 zurück, wenn es sich beim Zeichen c um ein Leerzeichen handelt.
isupper isupper(c as integer) as integer ctype.bi Gibt einen Wert ungleich 0 zurück, wenn es sich beim Zeichen c um einen Großbuchstaben handelt.
isxdigit isxdigit(c as integer) as integer ctype.bi Gibt einen Wert ungleich 0 zurück, wenn es sich beim Zeichen c um eine Hex-Ziffer handelt (0 bis F oder f).
ldexp ldexp(x as double, n as integer) as double math.bi Gibt das Produkt von x und 2 hoch n zurück.
ldiv ldiv(num as long, denom as long) as ldiv_t stdlib.bi Gibt Quotient und Rest einer Division als Struktur ldiv_t zurück.
log_ log_(a as double) as double math.bi Gibt den natürlichen Logarithmus des Parameterwerts zurück.
log10 log10(a as double) as double math.bi Gibt den Zehnerlogarithmus des Parameterswerts zurück.
malloc malloc(bytes as integer) as any ptr stdlib.bi Allocates memory. Returns a pointer to a buffer comprising storage for the specified size.
modf modf(d as double, p as double ptr) as double math.bi Gibt den Nachkommateil einer Gleitkommazahl d zurück. nt number d. Der Zeiger p zeigt auf den Ganzzahligen Anteil als Float
perror perror(mess as zstring ptr) stdio.bi Prints on the stream stderr a message passed as the argument.
pow pow(x as double, y as double) as double math.bi Returns x to the power y.
pow10 pow10(x as double) as double math.bi Returns 10 to the power x (inverse function to log10()).
printf printf(fmt as zstring ptr, ...) as integer stdio.bi Prints on standard output as many items as there are single % signs in fmt with matching arguments in the list.
putc putc(c as integer, s as FILE ptr) as integer stdio.bi Macro to output the single character c to the stream s.
putchar putchar(c as integer) as integer stdio.bi Macro to output the single character c to the standard output.
puts puts(b as zstring ptr) as integer stdio.bi Sends the character stream in b to the standard output, returns 0 if operation fails.
rand rand() as integer stdlib.bi Returns a pseudo random number. A seed is required. The seed is set with srand.
realloc realloc(p as any ptr, newsize as size_t) as any ptr stdlib.bi Allocates memory. Returns a pointer to a buffer for a change in size of object pointed to by p.
rewind rewind(s as FILE ptr) stdio.bi Clears the error indicators on a file stream (read or write). Necessary before reading an amended file.
scanf scanf(fmt as zstring ptr, …) as integer stdio.bi Reads from standard input as many items as there are % signs in fmt with corresponding listed pointers.
sin_ sin_(ar as double) as double math.bi Gibt den Sinus eines Winkels in Radianten zurück.
sinh sinh(x as double) as double math.bi Gibt den Sinus Hyperbolicus eines Winkels in Radianten zurück.
sprintf sprintf(p as zstring ptr, fmt as zstring ptr, ...) as integer stdio.bi Prints on zstring p as many items as there are single % signs in fmt that have matching arguments in the list.
sqrt sqrt(a as double) as double math.bi Gibt die Quadratwurzel des Parameterwerts zurück. Bei einem negativen Wert unter der Wurzel wird ein Domain error ausgelöst.
srand srand(seed as uinteger) stdlib.bi Sets the seed for a random number. A possible seed is the current time.
sscanf sscanf(b as zstring ptr, fmt as zstring ptr, ...) as integer stdio.bi Reads from buffer b as many items as there are % signs in fmt with corresponding listed pointers.
strcat strcat(s1 as zstring ptr, s2 as zstring ptr) as zstring ptr string.bi Concatenates (appends) zstring s2 to s1.
strchr strchr(s as zstring ptr, c as integer) as zstring ptr string.bi Returns a pointer to the first occurrence of c in s or NULL if it fails to find one.
strcmp strcmp(s1 as zstring ptr, s2 as zstring ptr) as integer string.bi Compares zstring s2 to s1. Returns 0 or signed difference in ASCII values of first non matching character.
strcpy strcpy(s1 as zstring ptr, s2 as zstring ptr) as zstring ptr string.bi Copies s2 into s1.
strcspn strcspn(s1 as zstring ptr, s2 as zstring ptr) as integer string.bi Gibt die Zeichenanzahl von s1 zurück, bis zu welcher kein Zeichen aus s2 vorkommt.
strerror strerror(n as integer) as zstring ptr string.bi Returns a pointer to a system error message corresponding to the passed error number.
strlen strlen(s as zstring ptr) as integer string.bi Gibt die Länge eines Null-terminierten Strings in Bytes zurück (ohne Null mitzuzählen).
strncat strncat(s1 as zstring ptr, s2 as zstring ptr, n as integer) as zstring ptr string.bi Concatenates (appends) n bytes from zstring s2 to s1.
strncmp strncmp(s1 as zstring ptr, s2 as any ptr, n as integer) as integer string.bi Compares n bytes of zstring s2 to the same of s1. Returns 0 or signed difference in ASCII values of first non matching character.
strncpy strncpy(s1 as zstring ptr, s2 as zstring ptr, n as integer) as zstring ptr string.bi Copies n bytes from s2 into s1.
strpbrk strpbrk(s1 as zstring ptr, s2 as zstring ptr) as zstring ptr string.bi Returns a pointer to the first character encountered in s1 that is also in s2.
strrchr strrchr(s as zstring ptr, c as integer) as zstring ptr string.bi Returns a pointer to the last occurrence of c in s or NULL if it fails to find one.
strspn strspn(s1 as zstring ptr, s2 as zstring ptr) as integer string.bi Gibt die Zeichenanzahl von s1 zurück, bis zu welcher kein nicht in s2 vorhandenes Zeichen vorkommt.
strstr strstr(s1 as zstring ptr, s2 as zstring ptr) as zstring ptr string.bi Finds the location of the zstring s2 in s1 and returns a pointer to its leading character.
strtod strtod(s as zstring ptr, p as zstring ptr) as double stdlib.bi Converts a zstring to double, provided the zstring is written in the form of a number.
strtok strtok(s1 as zstring ptr, s2 as zstring ptr) as zstring ptr string.bi Returns pointers to successive tokens utilizing the zstring s1. Tokens regarded as separators are listed in s2.
System System(command as zstring ptr) as integer stdlib.bi Executes, from within a program, a command addressed to the operating system written as a zstring (e.g. DIR on Windows and DOS and LS on Linux).
tan_ tan_(ar as double) as double math.bi Gibt den Tangens eines Winkels in Radianten zurück.
tanh tanh(x as double) as double math.bi Gibt den Tangens Hyperbolicus eines Winkels in Radianten zurück.
tolower tolower(c as integer) as integer ctype.bi Converts a character from upper case to lower case (uses ASCII code).
toupper toupper(c as integer) as integer ctype.bi Converts a character from lower case to upper case (uses ASCII code).
ungetc ungetc(c as integer, s as FILE ptr) as integer stdio.bi Pushes a character c back into the stream s, returns EOF if unsuccessful. Do not push more than one character.

Puffermanipulation

#include "crt/string.bi"

Deklaration (mit Parametern) Kommentar
memchr(s as any ptr, c as integer, n as size_t) as any ptr Sucht nach einem Zeichen in einem Buffer.
memcmp(s1 as any ptr, s2 as any ptr, n as size_t) as integer Vergleicht zwei Buffer.
memcpy(dest as any ptr, src as any ptr, n as size_t) as any ptr Kopiert einen Buffer in einen anderen.
memmove(dest as any ptr, src as any ptr, n as size_t) as any ptr Verschiebt eine Anzahl von Bytes von einem Buffer in einen anderen.
memset(s as any ptr, c as integer, n as size_t) as any ptr Setzt alle Bytes eines Buffers auf ein bestimmtes Zeichen.

Zeichenklassifizierung - konvertierung

#include "crt/ctype.bi"

Deklaration (mit Parametern) Kommentar
isalnum(c as integer) as integer TRUE wenn c alphanummerisch ist.
isalpha(c as integer) as integer TRUE wenn c ein Buchstabe ist.
isascii(c as integer) as integer TRUE wenn c ein ASCII-Zeichen ist.
iscntrl(c as integer) as integer TRUE wenn c ein Kontrollzeichen ist.
isdigit(c as integer) as integer TRUE wenn c eine Dezimalzahl ist.
isgraph(c as integer) as integer TRUE wenn c ein sichtbares Zeichen ist.
islower(c as integer) as integer TRUE wenn c ein kleingeschriebener Buchstabe ist.
isprint(c as integer) as integer TRUE wenn c ein ausgebbares Zeichen ist.
ispunct(c as integer) as integer TRUE wenn c ein Satzzeichen ist.
isspace(c as integer) as integer TRUE wenn c ein Leerzeichen ist.
isupper(c as integer) as integer TRUE wenn c ein großgeschriebener Buchstabe ist.
isxdigit(c as integer) as integer TRUE wenn c eine Hexadezimalzahl ist.
toascii(c as integer) as integer Konvertiert c zu ASCII.
tolower(c as integer) as integer Konvertiert c zu einem kleingeschriebenen Buchstaben.
toupper(c as integer) as integer Konvertiert c zu einem großgeschriebenen Buchstaben.

Datenkonvertierung

#include "crt/stdlib.bi"

Deklaration (mit Parametern) Kommentar
atof(string1 as zstring ptr) as double Konvertiert einen ZString zu einer Fließkommazahl.
atoi(string1 as zstring ptr) as integer Konvertiert einen ZString zu einem Integer.
atol(string1 as zstring ptr) as integer Konvertiert einen ZString zu einem Long.
itoa(value as integer, zstring as zstring ptr, radix as integer) as zstring ptr Konvertiert einen Integer zu einem ZString einer gegebenen Gattung.
ltoa(value as long, zstring as zstring ptr, radix as integer) as zstring ptr Konvertiert einen Long zu einem ZString einer gegebenen Gattung.
strtod(string1 as zstring ptr, endptr as zstring ptr) as double Konvertiert einen ZString zu einer Fließkommazahl.
strtol(string1 as zstring ptr, endptr as zstring ptr, radix as integer) as long Konvertiert einen ZString zu einem Long einer gegebenen Gattung.
strtoul(string1 as zstring ptr, endptr as zstring ptr, radix as integer) as ulong Konvertiert einen ZString zu einem vorzeichenlosen ULong.

Pfadmanipulation

#include "crt/io.bi"

Deklaration (mit Parametern) Kommentar
_chdir(path as zstring ptr) as integer Ändert das aktuelle Verzeichnis zu dem gegebenen Pfad.
_getcwd(path as zstring ptr, numchars as integer) as zstring ptr Gibt das aktuelle Arbeitsverzeichnis zurück.
_mkdir(path as zstring ptr) as integer Erstellt ein Verzeichnis anhand des gegebenen Pfades.
_rmdir(path as zstring ptr) as integer Löscht das angegebene Verzeichnis.

Dateimanipulation

#include "crt/sys/stat.bi"

#include "crt/io.bi"

Deklaration (mit Parametern) Kommentar
chmod(path as zstring ptr, pmode as integer) as integer Ändert die Berechtigungen für eine Datei.
fstat(handle as integer, buffer as type stat ptr) as integer Gibt die Dateistatusinformationen zurück.
remove(path as zstring ptr) as integer Löscht die angegebene Datei.
rename_(oldname as zstring ptr, newname as zstring ptr) as integer Benennt die angegebene Datei um.
stat(path as zstring ptr, buffer as type stat ptr) as integer Gibt die Dateistatusinformationen der angegebenen Datei zurück.
umask(pmode as uinteger) as uinteger Setzt die Dateiberechtigungsmaske.

Stream I/O

#include "crt/stdio.bi"

Deklaration (mit Parametern) Kommentar
clearerr(file_pointer as FILE ptr) Clear error indicator of stream,
fclose(file_pointer as FILE ptr) as integer Close a file,
feof(file_pointer as FILE ptr) as integer Check if end of file occurred on a stream.
ferror(file_pointer as FILE ptr) as integer Check if any error occurred during file I/0.
fflush(file_pointer as FILE ptr) as integer Write out (flush) buffer to file.
fgetc(file_pointer as FILE ptr) as integer Get a character from a stream.
fgetpos(file_pointer as FILE ptr, fpos_t current_pos) as integer Get the current position in a stream.
fgets(string1 as zstring ptr, maxchar as integer, file_pointer as FILE ptr) as zstring ptr Read a zstring from a file.
fopen(filename as zstring ptr, access_mode as zstring ptr) as FILE ptr Open a file for buffered I/0.
fprintf(file_pointer as FILE ptr, format_string as zstring ptr, args) as integer Write formatted output to a file,
fputc(c as integer, file_pointer as FILE ptr) as integer Write a character to a stream.
fputchar(c as integer) as integer Write a character to stdout.
fputs(string1 as zstring ptr, file_pointer as FILE ptr) as integer Write a zstring to a stream.
fread(buffer as zstring ptr, size as size_t count as size_t, file_pointer as FILE ptr) as size_t Read unformatted data from a stream into a buffer.
freopen(filename as zstring ptr, access as zstring ptr mode, file_pointer as FILE ptr) as FILE ptr Reassign a file pointer to a different file.
fscanf(file_pointer as FILE ptr, format as zstring ptr zstring, args) as integer Read formatted input from a stream.
fseek(file_pointer as FILE ptr, offset as long, origin as integer) as integer Set current position in file to a new location.
fsetpos(file_pointer as FILE ptr, current_pos as fpos_t) as integer Set current position in file to a new location.
ftell(file_pointer as FILE ptr) as long Get current location in file.
fwrite(buffer as zstring ptr, size as size_t, count as size_t file_pointer as FILE ptr) as size_t Write unformatted data from a buffer to a stream.
getc(file_pointer as FILE ptr) as integer Read a character from a stream.
getchar() as integer Read a character from stdin.
gets(buffer as zstring ptr) as zstring ptr Read a line from stdin into a buffer.
printf(format as zstring ptr _string, args) as integer Write formatted output to stdout.
putc(c as integer, file_pointer as FILE ptr) as integer Write a character to a stream.
putchar(c as integer) as integer Write a character to stdout.
puts(string1 as zstring ptr) as integer Write a zstring to stdout.
rewind(file_pointer as FILE ptr) Rewind a file.
scanf(format_string as zstring ptr, args) as integer Read formatted input from stdin.
setbuf(file_pointer as FILE ptr, buffer as zstring ptr) Set up a new buffer for the stream.
setvbuf(file_pointer as FILE ptr, buffer as zstring ptr, buf_type as integer, buf as size_t size) as integer Set up new buffer and control the level of buffering on a stream.
sprintf(string1 as zstring ptr, format_string as zstring ptr, args) as integer Write formatted output to a zstring.
sscanf(buffer as zstring ptr, format_string as zstring ptr, args) as integer Read formatted input from a zstring.
tmpfile() as FILE ptr Open a temporary file.
tmpnam(file_name as zstring ptr) as zstring ptr Get temporary file name.
ungetc(c as integer, file_pointer as FILE ptr) as integer Push back character into stream' s buffer

Low level I/O

#include "crt/io.bi"

Nur für Windows, da für die anderen Plattformen bis jetzt die Header fehlen.

Deklaration (mit Parametern) Kommentar
_close(handle as integer) as integer Close a file opened for unbuffered I/O.
_creat(filename as zstring ptr, pmode as integer) as integer Create a new file with specified permission setting.
_eof(handle as integer) as integer Check for end of file.
_lseek(handle as integer, offset as long, origin as integer) as long Go to a specific position in a file.
_open(filename as zstring ptr, oflag as integer, pmode as uinteger) as integer Open a file for low-level I/O.
_read(handle as integer, buffer as zstring ptr, length as uinteger) as integer Read binary data from a file into a buffer.
_write(handle as integer, buffer as zstring ptr, count as uinteger) as integer Write binary data from a buffer to a file.

Mathematik

#include "crt/math.bi"

Deklaration (mit Parametern) Kommentar
abs_(n as integer) as integer Get absolute value of an integer.
acos_(x as double) as double Compute arc cosine of x.
asin_(x as double) as double Compute arc sine of x.
atan_(x as double) as double Compute arc tangent of x.
atan2_(y as double, x as double) as double Compute arc tangent of y/x.
ceil(x as double) as double Get smallest integral value that exceeds x.
cos_(x as double) as double Compute cosine of angle in radians.
cosh(x as double) as double Compute the hyperbolic cosine of x.
div(number as integer, denom as integer) as div_t Divide one integer by another.
exp_(x as double) as double Compute exponential of x.
fabs(x as double) as double Compute absolute value of x.
floor(x as double) as double Get largest integral value less than x.
fmod(x as double, y as double) as double Divide x by y with integral quotient and return remainder.
frexp(x as double, expptr as integer ptr) as double Breaks down x into mantissa and exponent of no.
labs(n as long) as long Find absolute value of long integer n.
ldexp(x as double, exp as integer) as double Reconstructs x out of mantissa and exponent of two.
ldiv(number as long, denom as long) as ldiv_t Divide one long integer by another.
log_(x as double) as double Compute log(x).
log10(x as double) as double Compute log to the base 10 of x.
modf(x as double, intptr as double ptr) as double Breaks x into fractional and integer parts.
pow(x as double, y as double) as double Compute x raised to the power y.
rand() as integer Get a random integer between 0 and 32.
Random(max_num as integer) as integer Get a random integer between 0 and max_num.
Randomize() Set a random seed for the random number generator.
sin_(x as double) as double Compute sine of angle in radians.
sinh(x as double) as double Compute the hyperbolic sine of x.
sqrt(x as double) as double Compute the square root of x.
srand(seed as uinteger) Set a new seed for the random number generator (rand).
tan_(x as double) as double Compute tangent of angle in radians.
tanh(x as double) as double Compute the hyperbolic tangent of x.

Speicherallokation

#include "crt/stdlib.bi"

Deklaration (mit Parametern) Kommentar
calloc(num as size_t elems, elem_size as size_t) as any ptr Alloziiert einen Speicherbereich und setzt alle Bytes auf NULL.
free(mem_address as any ptr) Gibt einen Speicherbereich frei.
malloc(num as size_t bytes) as any ptr Alloziiert einen Speicherbereich.
realloc(mem_address as any ptr, newsize as size_t) as any ptr Realloziiert einen Speicherbereich (passt dessen Größe an).

Prozesskontrolle

#include "crt/stdlib.bi"

Deklaration (mit Parametern) Kommentar
abort() Abort a process.
execl(path as zstring ptr, arg0 as zstring ptr, arg1 as zstring ptr,..., NULL) as integer Launch a child process (pass command line).
execlp(path as zstring ptr, arg0 as zstring ptr, arg1 as zstring ptr,..., NULL) as integer Launch child (use PATH, pass command line).
execv(path as zstring ptr, argv as zstring ptr) as integer Launch child (pass argument vector).
execvp(path as zstring ptr, argv as zstring ptr) as integer Launch child (use PATH, pass argument vector).
exit_(status as integer) Terminate process after flushing all buffers.
getenv(varname as zstring ptr) as zstring ptr Get definition of environment variable,
perror(string1 as zstring ptr) Print error message corresponding to last system error.
putenv(envstring as zstring ptr) as integer Insert new definition into environment table.
raise(signum as integer) as integer Generate a C signal (exception).
system_(string1 as zstring ptr) as integer Execute a resident operating system command.

Suchen und Sortieren

#include "crt/stdlib.bi"

Hinweis: Die compare Callback-Funktion, die von bsearch und qsort benötigt wird, muss mit CDECL deklariert werden. Sie muss kleiner 0 sein, wenn der Wert des ersten Parameters der Funktion vor dem, des zweiten in der Sortierung liegt und größer 0, wenn der erste Wert hinter dem zweiten liegt. Die Funktion muss 0 zurückgeben, wenn beide Werte gleich sind.

Deklaration (mit Parametern) Kommentar
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 Führt eine binäre Suche durch.
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) Nutzt den Quicksort-Algorithmus um ein Array zu sortieren.

Stringmanipulation

#include "crt/string.bi"

Deklaration (mit Parametern) Kommentar
stpcpy(dest as zstring ptr, src as zstring ptr) as zstring ptr Copy one zstring into another.
strcmp(string1 as zstring ptr, string2 as zstring ptr) as integer Compare string1 and string2 to determine alphabetic order.
strcpy(string1 as zstring ptr, string2 as zstring ptr) as zstring ptr Copy string2 to string1.
strerror(errnum as integer) as zstring ptr Get error message corresponding to specified error number.
strlen(string1 as zstring ptr) as integer Determine the length of a zstring.
strncat(string1 as zstring ptr, string2 as zstring ptr, n as size_t) as zstring ptr Append n characters from string2 to string1.
strncmp(string1 as zstring ptr, string2 as zstring ptr, n as size_t) as integer Compare first n characters of two strings.
strncpy(string1 as zstring ptr, string2 as zstring ptr, n as size_t) as zstring ptr Copy first n characters of string2 to string1.
strnset(string1 as zstring ptr, c as integer, size _t n) as zstring ptr Set first n characters of zstring to c.
strrchr(string1 as zstring ptr, c as integer) as zstring ptr Find last occurrence of character c in zstring.

Zeit

#include "crt/time.bi"

Deklaration (mit Parametern) Kommentar
asctime(time as type tm ptr) as zstring ptr Konvertiert die Zeit vom Type tm zu einem ZString.
clock() as clock_t Gibt die vergangene Prozessorzeit in clock ticks zurück.
ctime(time as time_t ptr) as zstring ptr Konvertiert eine binäre Zeit zu einem ZString.
difftime(time_t time2, time_t time1) as double Errechnet die Differenz zwischen zwei Zeiten in Sekunden.
gmtime(time as time_t ptr) as type tm ptr Gibt die mittlere Greenwich-Zeit (GMT) in der Form des Types tm zurück.
localtime(time as time_t ptr) as type tm ptr Gibt die lokale Zeit in der Form des Types tm zurück.
time_(timeptr as time_t ptr) as time_t Gibt die seit dem 01.01.1970 um 00:00 Uhr (GMT) in Sekunden zurück.

Siehe auch: