std.fs
Datei-I/O direkt über POSIX-Systemaufrufe (sys_open, read, write, unlink, rename, lseek). Bietet Lesen (ReadFile), Schreiben (WriteFile), Anhängen (AppendFile), Löschen (DeleteFile) und Dateigröße (FileSize). Stdout/Stderr-Ausgabe (StdoutWrite, StderrWrite), Zeichenausgabe (PutChar) und Pfad-Operationen: Normalisieren, Verzeichnis, Dateiname, Erweiterung und relative Pfadauflösung.
Einsatzbereiche: Konfigurationsdateien, Log-Dateien, Binärdaten-Speicherung, Systemdienste. Für komfortablere formatierte Ausgabe bietet std.io Print-Hilfsfunktionen.
Autor: Andreas Röne
Copyright: 2024-2025 Andreas Röne
Typen
fd = int64
Konstanten
| Name | Typ | Wert | Sichtbarkeit |
|---|---|---|---|
O_RDONLY | int64 | 0 | pub |
O_WRONLY | int64 | 1 | pub |
O_RDWR | int64 | 2 | pub |
O_CREAT | int64 | 64 | pub |
O_TRUNC | int64 | 512 | pub |
O_APPEND | int64 | 1024 | pub |
O_EXCL | int64 | 128 | pub |
S_IRUSR | int64 | 256 | pub |
S_IWUSR | int64 | 128 | pub |
S_IRGRP | int64 | 32 | pub |
S_IWGRP | int64 | 16 | pub |
S_IROTH | int64 | 4 | pub |
S_IWOTH | int64 | 2 | pub |
DEFAULT_MODE | int64 | 420 | pub |
STDIN_FILENO | int64 | 0 | pub |
STDOUT_FILENO | int64 | 1 | pub |
STDERR_FILENO | int64 | 2 | pub |
SYS_OPEN | int64 | 2 | priv |
SYS_UNLINK | int64 | 87 | priv |
SYS_RENAME | int64 | 82 | priv |
SYS_LSEEK | int64 | 8 | priv |
SYS_EXIT | int64 | 60 | priv |
SEEK_SET | int64 | 0 | pub |
SEEK_CUR | int64 | 1 | pub |
SEEK_END | int64 | 2 | pub |
Funktionen
| Signatur | Sichtbarkeit | Beschreibung | |
|---|---|---|---|
IsValidFd(f: fd): bool | pub | Prüft ob Dateideskriptor gültig ist | |
ReadFile(path: pchar, buf: pchar, max_len: int64): int64 | pub | Liest Dateiinhalt in Puffer ein | |
WriteFile(path: pchar, buf: pchar, len: int64): int64 | pub | Schreibt Puffer vollständig in Datei | |
AppendFile(path: pchar, buf: pchar, len: int64): int64 | pub | Hängt Puffer an bestehende Datei an | |
DeleteFile(path: pchar): bool | pub | Löscht Datei über sys_unlink | |
FileSize(path: pchar): int64 | pub | Gibt Dateigröße in Bytes zurück | |
StdoutWrite(buf: pchar, len: int64): int64 | pub | Schreibt Puffer auf Standardausgabe | |
StderrWrite(buf: pchar, len: int64): int64 | pub | Schreibt Puffer auf Fehlerausgabe | |
PutChar(c: int64): int64 | pub | Gibt einzelnes Zeichen auf stdout aus | |
PATH_BUF_SIZE | int64 | 4096 | priv |
PathNormalize(dest: pchar, src: pchar): pchar | pub | Normalisiert Pfad (entfernt ./ und ../) | |
PathDir(dest: pchar, path: pchar): pchar | pub | Extrahiert Verzeichnisteil aus Pfad | |
PathExt(dest: pchar, path: pchar): pchar | pub | Extrahiert Dateiendung aus Pfad | |
PathBase(dest: pchar, path: pchar): pchar | pub | Extrahiert Dateiname ohne Verzeichnis | |
PathResolve(dest: pchar, base: pchar, relative: pchar): pchar | pub | Löst relativen Pfad gegen Basispfad auf |
