Latest web development tutorials

Parámetros de línea de comandos C

Al ejecutar el programa, la línea de comandos puede pasar valores al programa C. Estos valores se conocen comoargumentos de línea de comandos, que son importantes para el programa, sobre todo si se quiere controlar desde un programa externo, no en el código cuando estos valores no son modificables, es particularmente importante.

Parámetros de línea de comandos es utilizar la función main () para procesar los parámetros, en elque, argc se refiere al número de parámetros pasados,argv [] es una matriz de punteros, cada uno de los parámetros pasados al punto del programa. Aquí está un ejemplo sencillo, para comprobar si existe una línea de comandos se proporciona el argumento, y realizar la acción apropiada de acuerdo con los parámetros:

#include <stdio.h>

int main( int argc, char *argv[] )  
{
   if( argc == 2 )
   {
      printf("The argument supplied is %s\n", argv[1]);
   }
   else if( argc > 2 )
   {
      printf("Too many arguments supplied.\n");
   }
   else
   {
      printf("One argument expected.\n");
   }
}

Utilizar un parámetro, compilar y ejecutar el código anterior, producirá los siguientes resultados:

$./a.out testing
The argument supplied is testing

Dos argumentos, compilar y ejecutar el código anterior, producirá los siguientes resultados:

$./a.out testing1 testing2
Too many arguments supplied.

No deje pasar ningún parámetro, compilar y ejecutar el código anterior, producirá los siguientes resultados:

$./a.out
One argument expected

Cabeseñalar, argv [0] para almacenar el nombre del programa,argv [1] es un puntero al primer puntero del argumento de línea de comandos, * argv [n] es el último parámetro. Si no hay argumentos, argc será 1. De lo contrario, si pasa unparámetro, argc se establece en 2.

Entre una pluralidad de parámetros de línea de comandos separados por un espacio, pero si el argumento en sí mismo con el espacio, a continuación, pasar parámetros cuando los parámetros deben ser colocados en comillas dobles "" o comillas simples '' en el interior. Vamos a reescribir el ejemplo anterior, hay un espacio, entonces puede la vista, ponerlos entre comillas dobles o simples. "" "". Vamos a reescribir el ejemplo anterior, al pasar de un programa coloca dentro los parámetros de línea de comando entre comillas dobles:

#include <stdio.h>

int main( int argc, char *argv[] )  
{
   printf("Program name %s\n", argv[0]);
 
   if( argc == 2 )
   {
      printf("The argument supplied is %s\n", argv[1]);
   }
   else if( argc > 2 )
   {
      printf("Too many arguments supplied.\n");
   }
   else
   {
      printf("One argument expected.\n");
   }
}

Use un simple parámetro separados por espacios, los parámetros encerrados entre comillas dobles, compilar y ejecutar el código anterior, producirá los siguientes resultados:

$./a.out "testing1 testing2"

Progranm name ./a.out
The argument supplied is testing1 testing2