Programa C para imprimir el nombre del programa y todos sus argumentos

El argumento de la línea de comandos (CLA) es el parámetro proporcionado en el sistema a pedido. El conflicto de línea de comandos es un concepto importante en el sistema C. Se usa mucho cuando se necesita controlar el sistema desde el exterior. Los argumentos de la línea de comandos se transfieren a la ruta principal(). Argc calcula el número de argumentos en la línea de comando y argv [] es una array que contiene valores pasados ​​como argumentos en el momento de la ejecución. Los parámetros pasados ​​a través de la línea de comandos se pueden escanear en el programa a través de los argumentos de la línea de comandos.

Sintaxis:

int main(int argc, char *argv[])

Aquí,

  • argc es el tipo de argumento entero que contiene un número total de argumentos pasados ​​a través de la línea de comando.
  • argv[] es una array de punteros de caracteres que contiene todos los parámetros.

Ejemplo:

Entrada: C:\QC_Work\Projects\Geeks\GPL\C>args.exe
Salida: args.exe

Entrada: C:\QC_Work\Projects\Geeks\GPL\C>args.exe 2
Salida: args.exe 2

Entrada: C:\QC_Work\Projects\Geeks\GPL\C>args.exe akash bro
Salida: args.exe akash bro

Entrada: C:\QC_Work\Projects\Geeks\GPL\C>args.exe geeks
Salida: args.exe geeks

A continuación se muestra el programa C++ que acepta todos los argumentos del usuario e imprime cada argumento, incluido el nombre del archivo. El programa se compila y ejecuta con éxito en sistemas Windows y Linux.

C++

// C++ program to implement
// command-lien arguments
#include <stdio.h>
 
// Command Line Arg
void main(int argc, char *argv[])   
{
    int i;
    for (i = 0; i < argc; i++)
    {
        // Printing all the Arguments
        printf("%s ", argv[i]);       
    }
    printf("\n");
}

Producción:

Output

Complejidad de tiempo : O (n) desde que se usa un ciclo for

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por Akash7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *