Anterior Home Siguiente

Usando argumentos en el main()

Hasta el momento hemos usados el main sin argumentos (void). Sin embargo existe la posibilidad de generar programas que permitan la entrada de argmentos como los comandos de DOS o los famosos compresores ARJ y PKZIP.

Para crear un archivo basta con hacer los siguientes cambios sobre sobre la intrucción main:

main(int narg, *arg[])
{
.
.
.
}

narg corresponderá al numero de argumentos, y arg[] guardará los argumentos que se apliquen sobre el programa.

Una vez compilado para crear el archivo ejecutable se ocupa el comando MAKE EXE FILE en el menú Compile.

Luego por medio de la linea de comandos (símbolo e sistema) nos vamos hasta el directorio donde esté nuestro archivo ejecutable, y lo hacemos correr escribiendo su nombre seguido de los argumentos correspondientes.

Hay que hacer notar que el primer argumento (arg[0]) correponde al nombre del programa. Por lo tanto si creamos un programa que se llame argument.exe, y que ocupe 2 argumentos, los ejecutaríamos de la siguiente manera:

argument argumento1 argumento2 <return>

y como se dijo el primer argumento sería argument, el segundo sería argumento1 y el terecero sería argumento2.

Ejemplo:

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

main(int argc, char *argv[])
{
	int y;
	textbackground(0);
	textcolor(RED);

	y=wherey();
	gotoxy(1,y+1);

	if(argc!=3)
	  {

		cprintf("Tiene que introducir 2  cadenas\n");
		textcolor(WHITE);
		exit(1);
	  }

	textcolor(GREEN);
	cprintf("El primer argumento fue %s\n",argv[0]);
	y=wherey();
	textcolor(LIGHTBLUE);
	gotoxy(1,y+1);
	cprintf("El segundo argumento fue %s",argv[1]);
	y=wherey();
	textcolor(YELLOW);
	gotoxy(1,y+1);
	cprintf("El tercer argumento fue %s",argv[2]);
	textcolor(WHITE);
}

Ejercicios:

  1. Crear un programa que permita introducirle como argumento una cadena, y al presionar enter la escriba por pantalla al revés.
  2. Repetir lo mismo, pero esta vez el programa usará dos argumentos, de los cuales el primero será una letra (a, m, n), y el segundo argumento será una cadena, de tal manera que si se esrcribe antes de la cadena una 'a', el resultado será la impresión por pantalla de la palabra al revés, si se coloca una 'm', se imprimirá la palabra en mayúsculas, y si se coloca una 'n' se imprimirá la cadena con minúsculas.

Anterior Home Siguiente



© 2000 Made in Bufoland