Referenz - Funktionen der CRT
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 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 "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 #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:
- den Namen der Funktion;
- die benötigten Parameter der Funktion in Klammern, zusammen mit dem Datentyp des Parameters;
- den Datentyp des Rückgabewerts der Funktion.
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 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 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 | 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:
INCLUDE (Meta), CDECL, Externe Bibliotheken
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|