Duda de C

Todo aquello que no está relacionado con Gemix Studio ni con la programación DIV en general.

Duda de C

Postby erkosone » Thu May 31, 2012 12:51 pm

Tengo esta variable: byte cad[0]; definida en el programa.

Hago esto:
cad[0] = (byte)argv[2];

Con la intención de que el valor de cad[0] sea el número 2.. pero seguro que estoy haciendolo mal.. alguien me ayuda a hacerlo bien=?
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Duda de C

Postby CicTec » Thu May 31, 2012 1:12 pm

Hola erkos,

Deberia ser asi:
Source Code (C) [ Download ] [ Hide ]
  • int cad;
  • ...
  • cad = argv[2];
  •  
User avatar
CicTec
 
Posts: 16571
Joined: Thu Jul 31, 2008 10:18 pm

Re: Duda de C

Postby erkosone » Thu May 31, 2012 2:47 pm

mm ok gracias, osea que un argumento no entra por fuerza al programa en forma de array de chars no? si lo asigno a un int lo que introduzca por teclado será un int?
Bueno voy a probarlo, gracias por la ayuda, que ya ves que ando pez pez de C XD..
User avatar
erkosone
 
Posts: 10654
Joined: Tue Feb 24, 2009 2:13 pm
Location: Barcelona.

Re: Duda de C

Postby CicTec » Thu May 31, 2012 3:42 pm

El numero de argumentos contenidos en el array argv esta indicado en la variable argc, tenendo en cuenta que 1 argumento es siempre el nombre del programa, con lo cual si argc = 2, entonces estas llamando el programa con 1 argumento por linea de comando.
El argv[0] corresponde siempre al nombre del programa, desde 1..argc - 1 corresponden los argumentos pasados por linea de comando.
Esto te permite de hacer control para no acceder a un elemento que no existe.
User avatar
CicTec
 
Posts: 16571
Joined: Thu Jul 31, 2008 10:18 pm


Return to Offtopic

Who is online

Users browsing this forum: No registered users and 2 guests

cron