typestar

Argumentos de línea de comandos en C

argv[0] es el nombre del programa, y argv[argc] siempre es NULL.

#include <stdio.h>

int main(int argc, char **argv) {
    if (argc < 2) {
        fprintf(stderr, "usage: %s WORD...\n", argv[0]);
        return 1;
    }

    for (int i = 1; i < argc; i++) {
        printf("%d: %s\n", i, argv[i]);
    }

    printf("argv[argc] is NULL: %d\n", argv[argc] == NULL);
    return 0;
}

Cómo funciona

  1. argc también cuenta el nombre del programa: las opciones empiezan en uno.
  2. Cada argumento llega como una cadena terminada en NUL.
  3. Retornar distinto de cero desde main le señala falla al shell.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
15
Caracteres a escribir
267
Tokens
93
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 59 segundos.

Escribe este fragmento

Paso 1 de 4 en Entorno del programa; paso 1 de 14 en Programación de sistemas.

Siguiente →