Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Referenz - Funktionen der CRT

Referenz-Navigation

 

Funktionen der C Standard Library

FreeBASIC erlaubt das Einbinden der Funktionen der C-Standard-Bibliothek. Hier finden Sie eine alphabetische Aufstellung der Funktionen, gefolgt von einer Auflistung gruppiert nach ihrer Funktionalitä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. die Externer Link!C-Referenz auf cplusplus.com (engl.). Eine deutschsprachige Beschreibung vieler Funktionen inkl. verständlichen Erläuterungen und vielen Beispielen findet man auch in den Kapiteln des frei zugänglichen Buchs Externer Link!"C von A bis Z".

Hinweis: Die folgenden Deklarationen (zweite Tabellenspalte) 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 Befehlsreferenzeintrag#INCLUDE am Anfang des Programmcodes. Sollte die angegebene Datei nicht eingebunden werden, wird das Programm entweder nicht compilieren, oder es wird zwar 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 BefehlsreferenzeintragINTEGER zurückgibt und einen BefehlsreferenzeintragZSTRING 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 nicht-negativen Wert).
acos_ acos_(a AS DOUBLE) AS DOUBLE math.bi Gibt den Arkuskosinus zurück (Winkel in Bogenmaß).
asin_ asin_(a AS DOUBLE) AS DOUBLE math.bi Gibt den Arkussinus zurück (Winkel in Bogenmaß).
atan_ atan_(a AS DOUBLE) AS DOUBLE math.bi Gibt den Arkustangens zurück (Winkel in Bogenmaß).
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 Kosinus eines Winkels in Bogenmaß zurück.
cosh cosh(x AS DOUBLE) AS DOUBLE math.bi Gibt den Kosinus Hyperbolicus eines Winkels in Bogenmaß 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^a zurück (Umkehrfunktion des natürlichen Logarithmus).
fabs fabs(d AS DOUBLE) AS DOUBLE math.bi Gibt den Absolutwert (d. h. den nicht-negativen 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, kann aber 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 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 Liest einzelnes 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 den Modus 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 Schreibt eine Zeichenkette mit Format fmt in einen Stream s, wobei die Zeichen % mit passenden Argumenten der Parameterliste ersetzt werden.
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 Sendet die Zeichenkette in b an den Stream s; gibt 0 zurück, wenn die Operation fehlschlägt.
fread fread(buf AS ANY PTR, b AS size_t, c AS size_t, s AS FILE PTR) AS INTEGER stdio.bi Liest c Datenelemente der Größe von b Bytes aus der Datei s in den Buffer buf. Gibt die Anzahl der Elemente zurück, 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 Liest vom Stream s Daten für jedes % Zeichen in fmt mit zugehörigem Zeiger in der Parameterliste.
fseek fseek(s AS FILE PTR, offset AS INTEGER, origin AS INTEGER) AS INTEGER stdio.bi Setzt die Position innerhalb einer Datei. origin enthält einen der Werte SEEK_GET (0), SEEK_CUR (1) oder SEEK_END (2) und gibt an, ob der Offset vom Dateianfang, von der aktuellen Position oder vom Dateiende ausgeht.
fsetpos fsetpos(s AS FILE PTR, p AS fpos_t PTR) AS INTEGER stdio.bi Setzt die Position innerhalb eines Streams s auf die von p gezeigte Position.
ftell ftell(s AS FILE PTR) AS LONG stdio.bi Ermittelt die Position innerhalb eines Streams s.
fwrite fwrite(buf AS ANY PTR, b AS INTEGER, c AS INTEGER, s AS FILE PTR) AS INTEGER stdio.bi Schreibt c Datenblöcke mit jeweils b Bytes aus dem Puffer buf in die Datei s. Gibt die Anzahl der tatsächlich geschriebenen Datenblöcke zurück.
getc getc(s AS FILE PTR) AS INTEGER stdio.bi Liest ein einzelnes Zeichen (als ASCII-Wert) aus dem Stream s (stdin für das Lesen von der Tastatur).
getchar getchar() AS INTEGER stdio.bi Liest ein einzelnes Zeichen aus der Standardeingabe.
gets gets(b AS ZSTRING PTR) AS ZSTRING PTR stdio.bi Liest eine Zeichenkette aus der Standardeingabe bis zu einem \n oder 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 Whitespace (Leerzeichen, Tabulator, Zeilenumbruch) 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 den Wert von x * 2^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 Fordert Speicher an. Gibt einen Pointer auf einen Puffer der angeforderten Größe zurück.
modf modf(d AS DOUBLE, p AS DOUBLE PTR) AS DOUBLE math.bi Gibt den Nachkommateil einer Gleitkommazahl d zurück. Der Zeiger p zeigt auf den ganzzahligen Anteil als Gleitkommazahl.
perror perror(mess AS ZSTRING PTR) stdio.bi Schreibt die Nachricht mess in die Standard-Fehlerausgabe.
pow pow(x AS DOUBLE, y AS DOUBLE) AS DOUBLE math.bi Gibt den Wert von x^y zurück.
pow10 pow10(x AS DOUBLE) AS DOUBLE math.bi Gibt den Wert von 10^x zurück (Umkehrfunktion zu log10()).
printf printf(fmt AS ZSTRING PTR, ...) AS INTEGER stdio.bi Schreibt eine Zeichenkette mit Format fmt auf die Standardausgabe (stdout), wobei die Zeichen % mit passenden Argumenten der Parameterliste ersetzt werden.
putc putc(c AS INTEGER, s AS FILE PTR) AS INTEGER stdio.bi Schreibt ein einzelnes Zeichens c in den Stream s.
putchar putchar(c AS INTEGER) AS INTEGER stdio.bi Schreibt ein einzelnes Zeichens c in die Standardausgabe.
puts puts(b AS ZSTRING PTR) AS INTEGER stdio.bi Sendet die Zeichenkette in b an die Standardausgabe; gibt 0 zurück, wenn die Operation fehlschlägt.
rand rand() AS INTEGER stdlib.bi Gibt eine Pseudozufallszahl zurück. Der Zufallsgenerator muss zuvor mit srand initialisiert werden.
realloc realloc(p AS ANY PTR, newsize AS size_t) AS ANY PTR stdlib.bi Ändert die Größe des allozierten Speicherblocks, auf den p zeigt.
rewind rewind(s AS FILE PTR) stdio.bi Löscht die Error-Flags eines Datei-Streams (lesen oder schreiben). Dies ist notwendig, bevor man eine veränderte Datei liest.
scanf scanf(fmt AS ZSTRING PTR, ...) AS INTEGER stdio.bi Liest von der Standardeingabe (stdin) Daten für jedes % Zeichen in fmt mit zugehörigem Zeiger in der Parameterliste.
sin_ sin_(ar AS DOUBLE) AS DOUBLE math.bi Gibt den Sinus eines Winkels in Bogenmaß zurück.
sinh sinh(x AS DOUBLE) AS DOUBLE math.bi Gibt den Sinus Hyperbolicus eines Winkels in Bogenmaß zurück.
sprintf sprintf(p AS ZSTRING PTR, fmt AS ZSTRING PTR, ...) AS INTEGER stdio.bi Schreibt eine Zeichenkette mit Format fmt in p, wobei die Zeichen % mit passenden Argumenten der Parameterliste ersetzt werden.
sqrt sqrt(a AS DOUBLE) AS DOUBLE math.bi Gibt die Quadratwurzel des Parameterwerts zurück. Bei einem negativen Wert a wird ein domain error ausgelöst.
srand srand(seed AS UINTEGER) stdlib.bi Initialisiert den Pseudozufallsgenerator. Ein möglicher Initialwert für seed ist die aktuelle Zeit.
sscanf sscanf(b AS ZSTRING PTR, fmt AS ZSTRING PTR, ...) AS INTEGER stdio.bi Liest vom Buffer b Daten für jedes % Zeichen in fmt mit zugehörigem Zeiger in der Parameterliste.
strcat strcat(s1 AS ZSTRING PTR, s2 AS ZSTRING PTR) AS ZSTRING PTR string.bi Hängt den s2 an s1.
strchr strchr(s AS ZSTRING PTR, c AS INTEGER) AS ZSTRING PTR string.bi Gibt einen Zeiger auf das erste Auftreten von c in s zurück oder NULL, falls kein solches gefunden wurde.
strcmp strcmp(s1 AS ZSTRING PTR, s2 AS ZSTRING PTR) AS INTEGER string.bi Vergleicht den s2 mit s1. Gibt 0 bei Gleichheit oder die (vorzeichenbehaftete) Differenz der ASCII Werte der ersten ungleichen Zeichen zurück.
strcpy strcpy(s1 AS ZSTRING PTR, s2 AS ZSTRING PTR) AS ZSTRING PTR string.bi Kopiert s2 in 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 Gibt eine textuelle Fehlermeldung für den übergebenen Fehlercode zurück.
strlen strlen(s AS ZSTRING PTR) AS INTEGER string.bi Gibt die Länge eines nullterminierten 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 Hängt n Bytes von s2 an s1.
strncmp strncmp(s1 AS ZSTRING PTR, s2 AS ANY PTR, n AS INTEGER) AS INTEGER string.bi Vergleicht n Bytes in s2 mit denselben in s1. Gibt 0 bei Gleichheit oder die (vorzeichenbehaftete) Differenz der ASCII Werte der ersten ungleichen Zeichen zurück.
strncpy strncpy(s1 AS ZSTRING PTR, s2 AS ZSTRING PTR, n AS INTEGER) AS ZSTRING PTR string.bi Kopiert n Bytes von s2 nach s1.
strpbrk strpbrk(s1 AS ZSTRING PTR, s2 AS ZSTRING PTR) AS ZSTRING PTR string.bi Gibt einen Zeiger auf das erste Zeichen in s1 zurück, das auch in s2 enthalten ist.
strrchr strrchr(s AS ZSTRING PTR, c AS INTEGER) AS ZSTRING PTR string.bi Gibt einen Zeiger auf das letzte Auftreten von c in s zurück oder NULL, falls kein solches gefunden wurde.
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 Zeichen vorkommt, das nicht in s2 vorhanden ist.
strstr strstr(s1 AS ZSTRING PTR, s2 AS ZSTRING PTR) AS ZSTRING PTR string.bi Sucht die Position von s2 innerhalb s1 und gibt einen Zeiger auf das erste Zeichen zurück.
strtod strtod(s AS ZSTRING PTR, p AS ZSTRING PTR) AS DOUBLE stdlib.bi Konvertiert einen ZString nach Double, sofern der ZString eine Zahl gültigen Formats enthält.
strtok strtok(s1 AS ZSTRING PTR, s2 AS ZSTRING PTR) AS ZSTRING PTR string.bi Gibt Zeiger auf die durch ein Zeichen in s2 getrennten Teile von s1 zurück.
System System(command AS ZSTRING PTR) AS INTEGER stdlib.bi Führt innerhalb eines Programmes einen Betriebssystembefehl aus (z. B. dir in Windows und DOS oder ls in Linux).
tan_ tan_(ar AS DOUBLE) AS DOUBLE math.bi Gibt den Tangens eines Winkels in Bogenmaß zurück.
tanh tanh(x AS DOUBLE) AS DOUBLE math.bi Gibt den Tangens Hyperbolicus eines Winkels in Bogenmaß zurück.
tolower tolower(c AS INTEGER) AS INTEGER ctype.bi Konvertiert ein Zeichen in Kleinbuchstaben (verwendet dazu ASCII-Kodierung).
toupper toupper(c AS INTEGER) AS INTEGER ctype.bi Konvertiert ein Zeichen in Großbuchstaben (verwendet dazu ASCII-Kodierung).
ungetc ungetc(c AS INTEGER, s AS FILE PTR) AS INTEGER stdio.bi Schiebt das Zeichen c in den Stream s zurück. Gibt EOF im Fehlerfall zurück. Schieben Sie nicht mehr als ein Zeichen in den Stream zurück!





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 Ungleich 0, wenn c alphanumerisch ist.
isalpha(c AS INTEGER) AS INTEGER Ungleich 0, wenn c ein Buchstabe ist.
isascii(c AS INTEGER) AS INTEGER Ungleich 0, wenn c ein ASCII-Zeichen ist.
iscntrl(c AS INTEGER) AS INTEGER Ungleich 0, wenn c ein Steuerzeichen ist.
isdigit(c AS INTEGER) AS INTEGER Ungleich 0, wenn c eine Dezimalzahl ist.
isgraph(c AS INTEGER) AS INTEGER Ungleich 0, wenn c ein sichtbares Zeichen ist.
islower(c AS INTEGER) AS INTEGER Ungleich 0, wenn c ein Kleinbuchstabe ist.
isprint(c AS INTEGER) AS INTEGER Ungleich 0, wenn c ein druckbares Zeichen ist.
ispunct(c AS INTEGER) AS INTEGER Ungleich 0, wenn c ein Satzzeichen ist.
isspace(c AS INTEGER) AS INTEGER Ungleich 0, wenn c ein Whitespace (Leerzeichen, Tabulator, Zeilenende) ist.
isupper(c AS INTEGER) AS INTEGER Ungleich 0, wenn c ein großgeschriebener Buchstabe ist.
isxdigit(c AS INTEGER) AS INTEGER Ungleich 0, 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 Kleinbuchstaben.
toupper(c AS INTEGER) AS INTEGER Konvertiert c zu einem Groß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) Löscht die Error-Flags des Streams.
fclose(file_pointer AS FILE PTR) AS INTEGER Schließt eine Datei.
feof(file_pointer AS FILE PTR) AS INTEGER Prüft, ob das Dateiende eines Streams erreicht wurde.
ferror(file_pointer AS FILE PTR) AS INTEGER Prüft, ob ein Fehler beim Dateizugriff aufgetreten ist.
fflush(file_pointer AS FILE PTR) AS INTEGER Schreibt den Puffer-Inhalt in die Datei ("flush").
fgetc(file_pointer AS FILE PTR) AS INTEGER Liest ein Zeichen von einem Stream.
fgetpos(file_pointer AS FILE PTR, fpos_t current_pos) AS INTEGER Ermittelt die aktuelle Position innerhalb eines Streams.
fgets(string1 AS ZSTRING PTR, maxchar AS INTEGER, file_pointer AS FILE PTR) AS ZSTRING PTR Liest eine Zeile von einer Datei mit höchstens maxchar Zeichen (inkl. NUL und evt. LF).
fopen(filename AS ZSTRING PTR, access_mode AS ZSTRING PTR) AS FILE PTR Öffnet eine Datei für gepufferten Dateizugriff.
fprintf(file_pointer AS FILE PTR, fmt AS ZSTRING PTR, ...) AS INTEGER Schreibt eine Zeichenkette mit Format fmt in eine Datei, wobei die Zeichen % mit passenden Argumenten der Parameterliste ersetzt werden.
fputc(c AS INTEGER, file_pointer AS FILE PTR) AS INTEGER Schreibt ein Zeichen in einen Stream.
fputchar(c AS INTEGER) AS INTEGER Schreibt ein Zeichen auf die Standardausgabe (stdout).
fputs(string1 AS ZSTRING PTR, file_pointer AS FILE PTR) AS INTEGER Schreibt einen ZString in einen Stream.
fread(buffer AS ZSTRING PTR, size AS size_t, count AS size_t, file_pointer AS FILE PTR) AS size_t Liest unformatierte Daten von einem Stream in einen Puffer.
freopen(filename AS ZSTRING PTR, access AS ZSTRING PTR mode, file_pointer AS FILE PTR) AS FILE PTR Weist einen FILE PTR einer anderen Datei zu.
fscanf(file_pointer AS FILE PTR, format AS ZSTRING PTR zstring, args) AS INTEGER Liest formatierte Daten von einem Stream.
fseek(file_pointer AS FILE PTR, offset AS LONG, origin AS INTEGER) AS INTEGER Setzt die aktuelle Position innerhalb einer Datei auf eine neue Position.
fsetpos(file_pointer AS FILE PTR, current_pos AS fpos_t) AS INTEGER Setzt die aktuelle Position innerhalb einer Datei auf eine neue Position.
ftell(file_pointer AS FILE PTR) AS LONG Ermittelt die aktuelle Position innerhalb einer Datei.
fwrite(buffer AS ZSTRING PTR, size AS size_t, count AS size_t, file_pointer AS FILE PTR) AS size_t Schreibt unformatierte Daten von einem Puffer in einen Stream.
getc(file_pointer AS FILE PTR) AS INTEGER Liest ein Zeichen von einem Stream.
getchar() AS INTEGER Liest ein Zeichen von der Standardeingabe (stdin).
gets(buffer AS ZSTRING PTR) AS ZSTRING PTR Liest eine Zeile von der Standardeingabe (stdin) in einen Puffer.
printf(fmt AS ZSTRING PTR _string, ...) AS INTEGER Schreibt eine Zeichenkette mit Format fmt in die Standardausgabe, wobei die Zeichen % mit passenden Argumenten der Parameterliste ersetzt werden.
putc(c AS INTEGER, file_pointer AS FILE PTR) AS INTEGER Schreibt ein Zeichen in einen Stream.
putchar(c AS INTEGER) AS INTEGER Schreibt ein Zeichen in die Standardausgabe (stdout).
puts(string1 AS ZSTRING PTR) AS INTEGER Schreibt einen ZString in die Standardausgabe (stdout).
rewind(file_pointer AS FILE PTR) Setzt die Position innnerhalb einer Datei wieder auf die Ausgangsposition (0).
scanf(format_string AS ZSTRING PTR, args) AS INTEGER Liest formatierte Daten von der Standardeingabe (stdin).
setbuf(file_pointer AS FILE PTR, buffer AS ZSTRING PTR) Setzt einen neuen Puffer für einen Stream.
setvbuf(file_pointer AS FILE PTR, buffer AS ZSTRING PTR, buf_type AS INTEGER, buf AS size_t size) AS INTEGER Setzt einen neuen Puffer für einen Stream und regelt die Art der Pufferung.
sprintf(string1 AS ZSTRING PTR, fmt AS ZSTRING PTR, ...) AS INTEGER Schreibt eine Zeichenkette mit Format fmt in einen ZString, wobei die Zeichen % mit passenden Argumenten der Parameterliste ersetzt werden.
sscanf(buffer AS ZSTRING PTR, format_string AS ZSTRING PTR, args) AS INTEGER Liest formatierte Daten von einem ZString.
tmpfile() AS FILE PTR Öffnet eine temporäre Datei.
tmpnam(file_name AS ZSTRING PTR) AS ZSTRING PTR Ermittelt einen temporären Dateinamen.
ungetc(c AS INTEGER, file_pointer AS FILE PTR) AS INTEGER Schiebt ein Zeichen in den Puffer eines Streams zurück.




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 Schließt eine Datei, die für ungepufferten Dateizugriff geöffnet wurde.
_creat(filename AS ZSTRING PTR, pmode AS INTEGER) AS INTEGER Erstellt eine neue Datei mit den angegebenen Zugriffsrechten.
_eof(handle AS INTEGER) AS INTEGER Prüft auf Dateiende (EOF).
_lseek(handle AS INTEGER, offset AS LONG, origin AS INTEGER) AS LONG Setzt die Dateiposition auf eine neue Position.
_open(filename AS ZSTRING PTR, oflag AS INTEGER, pmode AS UINTEGER) AS INTEGER Öffnet eine Datei für low-level Dateizugriff (ungepuffert).
_read(handle AS INTEGER, buffer AS ZSTRING PTR, length AS UINTEGER) AS INTEGER Liest Binärdaten von einer Datei in einen Puffer.
_write(handle AS INTEGER, buffer AS ZSTRING PTR, count AS UINTEGER) AS INTEGER Schreibt Binärdaten von einem Puffer in eine Datei.




Mathematik

#INCLUDE "crt/math.bi"

Deklaration (mit Parametern) Kommentar
abs_(n AS INTEGER) AS INTEGER Ermittelt den Absolutwert einer Ganzzahl.
acos_(x AS DOUBLE) AS DOUBLE Errechnet den Arkuskosinus von x.
asin_(x AS DOUBLE) AS DOUBLE Errechnet den Arkussinus von x.
atan_(x AS DOUBLE) AS DOUBLE Errechnet den Arkustangens von x.
atan2_(y AS DOUBLE, x AS DOUBLE) AS DOUBLE Errechnet den Arkustangens von y/x.
ceil(x AS DOUBLE) AS DOUBLE Ermittelt den kleinsten ganzzahligen Wert größer x.
cos_(x AS DOUBLE) AS DOUBLE Errechnet den Kosinus des Winkels x in Bogenmaß.
cosh(x AS DOUBLE) AS DOUBLE Errechnet den Kosinus Hyperbolicus des Winkels x in Bogenmaß.
div(number AS INTEGER, denom AS INTEGER) AS div_t Dividiert eine Ganzzahl durch eine andere.
exp_(x AS DOUBLE) AS DOUBLE Gibt den Wert von e^x zurück (Umkehrfunktion des natürlichen Logarithmus).
fabs(x AS DOUBLE) AS DOUBLE Ermittelt den Absolutwert einer Gleitkommazahl.
floor(x AS DOUBLE) AS DOUBLE Gibt die größte ganze Zahl zurück, die kleiner oder gleich d ist (Abrunden der Zahl d).
fmod(x AS DOUBLE, y AS DOUBLE) AS DOUBLE Errechnet den Rest der Division x / y.
frexp(x AS DOUBLE, expptr AS INTEGER PTR) AS DOUBLE Berechnet den Wert m so, dass x=m*2^exponent. expptr ist ein Pointer auf m; exponent ist der Rückgabewert der Funktion.
labs(n AS LONG) AS LONG Ermittelt den Absolutwert eines LONG.
ldexp(x AS DOUBLE, exp AS INTEGER) AS DOUBLE Gibt den Wert von x * 2^n zurück.
ldiv(number AS LONG, denom AS LONG) AS ldiv_t Dividiert zwei LONG und gibt Quotient und Rest einer Division als Struktur ldiv_t zurück.
log_(x AS DOUBLE) AS DOUBLE Errechnet den natürlichen Logarithmus von x.
log10(x AS DOUBLE) AS DOUBLE Errechnet den Zehnerlogarithmus von x.
modf(x AS DOUBLE, intptr AS DOUBLE PTR) AS DOUBLE Gibt den Nachkommateil einer Gleitkommazahl x zurück. Der Zeiger intptr zeigt auf den ganzzahligen Anteil als Gleitkommazahl.
pow(x AS DOUBLE, y AS DOUBLE) AS DOUBLE Gibt den Wert von x^y zurück.
rand() AS INTEGER Gibt eine zufällige Ganzzahl im Bereich von 0 bis 32767 zurück.
Random(max_num AS INTEGER) AS INTEGER Gibt eine zufällige Ganzzahl zwischen 0 and max_num zurück.
Randomize() Setzt einen zufälligen Ausgangswert (seed) für den Zufallszahlengenerator.
sin_(x AS DOUBLE) AS DOUBLE Gibt den Sinus eines Winkels in Bogenmaß zurück.
sinh(x AS DOUBLE) AS DOUBLE Gibt den Sinus Hyperbolicus eines Winkels in Bogenmaß zurück.
sqrt(x AS DOUBLE) AS DOUBLE Errechnet die Quadratwurzel.
srand(seed AS UINTEGER) Setzt einen Ausgangswert (seed) für den Zufallszahlengenerator (rand).
tan_(x AS DOUBLE) AS DOUBLE Gibt den Tangens eines Winkels in Bogenmaß zurück.
tanh(x AS DOUBLE) AS DOUBLE Gibt den Tangens Hyperbolicus eines Winkels in Bogenmaß zurück.




Speicherallokation

#INCLUDE "crt/stdlib.bi"

Deklaration (mit Parametern) Kommentar
calloc(num AS size_t elems, elem_size AS size_t) AS ANY PTR Alloziert 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 Alloziert einen Speicherbereich.
realloc(mem_address AS ANY PTR, newsize AS size_t) AS ANY PTR Realloziert einen Speicherbereich (passt dessen Größe an).




Prozesskontrolle

#INCLUDE "crt/stdlib.bi"

Deklaration (mit Parametern) Kommentar
abort() Bricht einen Prozess ab.
execl(path AS ZSTRING PTR, arg0 AS ZSTRING PTR, arg1 AS ZSTRING PTR,..., NULL) AS INTEGER Erstellt einen untergeordneten Kind-Prozess (übergibt Kommandozeilen-Parameter).
execlp(path AS ZSTRING PTR, arg0 AS ZSTRING PTR, arg1 AS ZSTRING PTR,..., NULL) AS INTEGER Startet Kind-Prozess (verwendet PATH, übergibt Kommandozeilen-Parameter).
execv(path AS ZSTRING PTR, argv AS ZSTRING PTR) AS INTEGER Startet Kind-Prozess (übergibt Argumenten-Vektor).
execvp(path AS ZSTRING PTR, argv AS ZSTRING PTR) AS INTEGER Startet Kind-Prozess (verwendet PATH, übergibt Argumenten-Vektor).
exit_(status AS INTEGER) Beendet den Prozess (nach flushen der Puffer).
getenv(varname AS ZSTRING PTR) AS ZSTRING PTR Ermittelt den Wert einer Umgebungsvariable.
perror(string1 AS ZSTRING PTR) Schreibt eine dem letzten System Error-Code (errno) zugehörige Fehlermeldung auf die Fehlerausgabe (stderr).
putenv(envstring AS ZSTRING PTR) AS INTEGER Setzt den Wert einer Umgebungsvariable.
raise(signum AS INTEGER) AS INTEGER Erzeugt ein C Signal (exception).
system_(string1 AS ZSTRING PTR) AS INTEGER Führt einen residenten Betriebssystem-Befehl aus.




Suchen und Sortieren

#INCLUDE "crt/stdlib.bi"

Hinweis: Die Callback-Funktion compare, die von bsearch und qsort benötigt wird, muss mit BefehlsreferenzeintragCDECL 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 Kopiert einen ZString in einen anderen und gibt einen Zeiger auf das abschließende NUL in dest zurück.
strcmp(string1 AS ZSTRING PTR, string2 AS ZSTRING PTR) AS INTEGER Vergleicht string1 und string2 alphabetisch.
strcpy(string1 AS ZSTRING PTR, string2 AS ZSTRING PTR) AS ZSTRING PTR Kopiert string2 in string1 und gibt einen Zeiger auf string1 zurück.
strerror(errnum AS INTEGER) AS ZSTRING PTR Gibt eine textuelle Fehlermeldung für den angegebenen Fehlercode zurück.
strlen(string1 AS ZSTRING PTR) AS INTEGER Ermittelt die Länge eines ZStrings.
strncat(string1 AS ZSTRING PTR, string2 AS ZSTRING PTR, n AS size_t) AS ZSTRING PTR Hängt n Zeichen von string2 an string1 hinten an.
strncmp(string1 AS ZSTRING PTR, string2 AS ZSTRING PTR, n AS size_t) AS INTEGER Vergleicht die ersten n Zeichen zweier ZStrings.
strncpy(string1 AS ZSTRING PTR, string2 AS ZSTRING PTR, n AS size_t) AS ZSTRING PTR Kopiert die ersten n Zeichen von string2 nach string1.
strnset(string1 AS ZSTRING PTR, c AS INTEGER, size _t n) AS ZSTRING PTR Setzt die ersten n Zeichen vom ZString auf c.
strrchr(string1 AS ZSTRING PTR, c AS INTEGER) AS ZSTRING PTR Sucht das letzte Vorkommnis von Zeichen c im 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 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:
BefehlsreferenzeintragINCLUDE (Meta), BefehlsreferenzeintragCDECL, BefehlsreferenzeintragExterne Bibliotheken


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 29.12.2010 von RedakteurMOD angelegt.
  • Die aktuellste Version wurde am 06.03.2013 von Redakteurnemored gespeichert.
  Versionen Versionen