0Pricing
Zig Academy · Leçon

Lire les arguments de la ligne de commande

Analysez argv avec un allocateur.

Lire les arguments de la ligne de commande est une leçon Zig Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Zig Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Zig Academy comprend 4 leçons au total.

Pourquoi les arguments sont importants

Un véritable outil CLI réagit à ce que l'utilisateur saisit après son nom. Ces mots sont les arguments de la ligne de commande, et les lire est la première étape. 🛠️

Zig ne vous cache rien

D'autres langages vous fournissent une variable argv magique. Zig reste explicite : vous demandez vous-même les arguments à l'espace de noms std.process.

const std = @import("std");

Les arguments ont besoin d'un allocateur

Le décodage des arguments peut allouer de la mémoire, c'est pourquoi Zig vous demande un allocator dès le départ. Aucune allocation n'est effectuée dans votre dos.

var gpa = std.heap.GeneralPurposeAllocator(.{}){};
const a = gpa.allocator();

argsAlloc fournit une tranche

Appelez std.process.argsAlloc avec votre allocateur. La fonction renvoie une tranche de chaînes, une par argument, dont vous êtes entièrement propriétaire.

const args = try std.process.argsAlloc(a);

Libérez ce que vous avez alloué

Puisque cette tranche vous appartient, vous devez la libérer avec argsFree. Un defer placé juste après l'appel automatise le nettoyage.

defer std.process.argsFree(a, args);

Le premier argument est le programme

Par convention, args[0] est le chemin vers votre propre programme, et non une donnée saisie par l'utilisateur. Les vraies valeurs qui vous intéressent commencent à l'index 1.

const program = args[0];

Comptez les arguments reçus

La tranche contient sa propre longueur : args.len vous indique donc combien d'arguments ont été reçus. Vérifiez-la avant d'accéder à un index.

if (args.len < 2) return error.MissingArgument;

Parcourez les entrées

Parcourez les valeurs de l'utilisateur en ignorant le nom du programme. Une boucle for sur args[1..] visite chaque argument dans l'ordre.

for (args[1..]) |arg| {
    std.debug.print("{s}\n", .{arg});
}

Chaque argument est composé d'octets

Chaque argument est un []const u8, c'est-à-dire une tranche d'octets. À partir de là, sa comparaison ou son analyse relève simplement des opérations habituelles sur les chaînes Zig.

if (std.mem.eql(u8, arg, "--help")) {}

Transformez le texte en nombres

Les arguments arrivent sous forme de texte. Pour obtenir un nombre, analysez-le avec std.fmt.parseInt, qui échoue clairement si le texte n'est pas un entier valide.

const n = try std.fmt.parseInt(i32, args[1], 10);

Une autre possibilité&nbsp;: l'itérateur

Vous préférez traiter les données en flux ? std.process.argsWithAllocator fournit un itérateur que vous avancez avec next(), ce qui est pratique pour traiter les arguments un par un.

var it = try std.process.argsWithAllocator(a);
defer it.deinit();

Vérification rapide

Réfléchissez à ce qui se trouve au début de la tranche d'arguments.

Récapitulatif

Vous avez lu les arguments avec argsAlloc, les avez libérés avec argsFree, ignoré args[0] et converti le texte en valeurs. Votre CLI peut maintenant comprendre son utilisateur. 🎯

Questions Fréquemment Posées

La leçon « Lire les arguments de la ligne de commande » est-elle gratuite ?

Oui — le texte complet de « Lire les arguments de la ligne de commande » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Zig Academy, passe à CoddyKit PRO. Le cours Zig Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Lire les arguments de la ligne de commande » ?

Analysez argv avec un allocateur. Tu pratiques Zig Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Zig Academy ?

Aucune expérience préalable n'est requise. Zig Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Lire les arguments de la ligne de commande » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Zig Academy ?

Oui. Chaque leçon Zig Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Lire les arguments de la ligne de commande
  2. Lire des fichiers et stdin
  3. Écrire la sortie et les codes de sortie
  4. Empaqueter et publier le binaire
← Retour à Zig Academy