strio.c

Diese Include-Datei enthält oft gebrauchte, kleine Funktionen im Bezug auf Strings und Dateien-in- bzw. output.

str_replace(STRING* str, char* original, char* replacement)

Ersetzt das erste Auftauchen eines Unterstrings durch einen anderen.

Parameter:

str - STRING*, Pointer auf den String, in dem der Unterstring ersetzt wird.
original - STRING* oder char*, der alte Unterstring.
replacement - STRING* oder char*, der neue Unterstring.

Rückgabewerte:

str wenn ein Unterstring gefunden und ersetzt wurde, ansonsten NULL.

Beispiel:

STRING* str = "I am %name%, your worst nightmare!"
str_replace(str,"%name%",player_name);

str_cut(STRING* to, char* from, var start, var end)

Schneidet einen String aus einem zweiten String aus.

Parameter:

to - STRING*, Ziel-Stringpointer oder NULL zum Erstellen eines neuen Strings.
from - STRING* oder char*, der String aus dem geschnitten werden soll.
start - die Startposition von der aus geschnitten werden soll, beginnt mit 1 für das erste Zeichen oder 0, damit nicht vom Anfang an geschnitten wird.
end - die Endposition bis zu der geschnitten werden soll, beginnt mit 1 für das erste Zeichen oder 0, damit nicht vom Ende aus geschnitten wird.

Rückgabewerte:

to

Beispiel:

STRING* str = "Do not go gentle into this good night";
STRING* newstr = str_cut(NULL,str,11,17); // newstr now contains "gentle"

str_parse(STRING* to, char* from, var start)

Verarbeitet ein Wort aus dem String. Der String muß aus durch einzelne Leerzeichen ' ' getrennten Worten bestehen.

Parameter:

to - STRING*, Ziel-Stringpointer oder NULL zum Erstellen eines neuen Strings.
from - STRING* oder char*, der String, aus dem das Wort verarbeitet werden soll.
start - die Startposition aus der verarbeit werden soll oder 0 zum Verarbeiten aus der letzten Position.

Rückgabewerte:

to

Beispiel:

STRING* str = "Do not go gentle into this good night";
STRING* newstr = str_parse(NULL,str,11); // newstr now contains "gentle"
str_parse(newstr,str,0); // newstr now contains "into"

name_from_command(STRING* to,char* extension)

extrahiert einen Dateinamen aus der Kommandozeile.

Parameter:

to - STRING*, Ziel-Stringpointer oder NULL zum Erstellen eines neuen Strings.
extension - STRING* oder char*, die Dateierweiterung inklusive des Punktes (z. B.: ".TXT"). Der erste Dateiname mit dieser Erweiterung wird aus der Kommandozeile extrahiert.

Beispiel:

STRING* file_name = name_from_command(NULL,".scr");
var file_handle = 0;
if (file_name)
file_handle = file_open_read(file_name);

file_dialog(char* title,char* filter)

Öffnet einen Datei-Dialog und liefert den selektierten Dateinamen zurück.

Parameter:

title - STRING* oder char*, der Titel des Dialogs oder NULL.
filter - STRING* oder char*, Das Datei-Filtermuster (z. B."*.TXT") oder NULL. Ein Musterstring kann eine Kombination aus einem gültigen Dateinamen-Zeichen und dem asterisk (*)-Wildcard-Zeichen sein. Um viele Filtermuster zu spezifizieren, verwenden Sie ein Semikolon (beispielsweise "*.MDL;*.HMP;*.WMB"). Fügen Sie keine Leerzeichen in den Musterstring ein.

Rückgabewerte:

Gewählter Dateiname mit Pfad (char*) oder NULL, wenn keine Datei ausgewählt wurde.

Beispiel:

char* sky_name = file_dialog("Load skycube","*.tga;*.bmp;*.pcx;*.dds");
if (sky_name)
ent_createlayer(sky_name,SKY|CUBE|SHOW,1);

Siehe auch:

file_open

► latest version online