0Pricing
Zig Academy · Lektion

Dateien und stdin lesen

Leiten Sie Eingaben in Ihr Programm ein.

Dateien und stdin lesen ist eine kostenlose Zig Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Zig Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Zig Academy-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Tools Consume Input

A useful CLI usually reads something: a file you name, or text piped into it. Zig gives you clear, explicit ways to do both. 📥

Open a File by Path

Use std.fs.cwd to get the current directory, then openFile to open a path relative to it for reading.

const file = try std.fs.cwd().openFile(path, .{});

Always Close What You Open

An open file is a resource you own. Pair the open with a defer file.close() so it is released no matter how the function exits.

defer file.close();

Read the Whole File

To slurp everything at once, call readToEndAlloc with an allocator and a size limit. It returns the bytes as an owned slice.

const data = try file.readToEndAlloc(a, 1024 * 1024);

Free the Bytes Later

That returned slice lives on the heap, so you own it. Add defer a.free(data) to release the buffer when you are done with it.

defer a.free(data);

The Size Limit Is a Guard

That max-bytes argument protects you from a huge file eating all memory. Pick a limit that fits your tool's realistic input.

Grab Standard Input

To read piped text, reach for std.io.getStdIn. It hands back a file just like one you opened, so the same reading calls apply.

const stdin = std.io.getStdIn();

Read All of stdin

Ask stdin for a reader and call readAllAlloc. This collects everything piped in until end-of-input into one owned slice.

const input = try stdin.reader().readAllAlloc(a, 1024 * 1024);

Read Line by Line

For streaming work, a reader's readUntilDelimiterOrEof pulls one line at a time into a buffer, returning null when input ends.

const line = try r.readUntilDelimiterOrEof(&buf, '\n');

Buffer for Speed

Each raw read can be a system call. Wrap a reader in std.io.bufferedReader so many small reads batch into fewer, faster operations.

var br = std.io.bufferedReader(file.reader());

File or Pipe, Same Code

Because a file and stdin both expose a reader, your parsing logic does not care which one it got. That is clean, reusable design. ✨

Quick Check

Recall how you turn a file's bytes into something you can use.

Recap

You opened files with openFile, read them fully or line by line, pulled text from stdin, and freed every buffer. Input handled. 🎯

Häufig gestellte Fragen

Ist die Lektion „Dateien und stdin lesen“ kostenlos?

Ja — der vollständige Text von „Dateien und stdin lesen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Zig Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Zig Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Dateien und stdin lesen“?

Leiten Sie Eingaben in Ihr Programm ein. Du übst Zig Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Zig Academy zu starten?

Keine Vorkenntnisse erforderlich. Zig Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Dateien und stdin lesen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Zig Academy-Lektion Code schreiben und ausführen?

Ja. Jede Zig Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Kommandozeilenargumente lesen
  2. Dateien und stdin lesen
  3. Ausgaben und Exit-Codes schreiben
  4. Die Binärdatei paketieren und veröffentlichen
← Zurück zu Zig Academy