Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: 70N1 en 23 Septiembre 2014, 14:29 pm



Título: introducir valor a funccion ( char * x [] )
Publicado por: 70N1 en 23 Septiembre 2014, 14:29 pm
esta es la funcction:

Código:
static int inject(char* argv[]){

}

Como podria llamarla desde el main?


Título: Re: introducir valor a funccion ( char * x [] )
Publicado por: eferion en 23 Septiembre 2014, 14:43 pm
Código
  1. int main( int argc, char** argv )
  2. {
  3.  inject( argv );
  4. }

Edito: Eso sí, si la función no se encuentra en el mismo fichero que el main recuerda añadir el include correspondiente.


Título: Re: introducir valor a funccion ( char * x [] )
Publicado por: 70N1 en 23 Septiembre 2014, 15:04 pm
Pero como inicializo argv ?

tengo
Código:
long num; ///con un numero de 4 o 5 digitos
como aria un:
inject(num);



Título: Re: introducir valor a funccion ( char * x [] )
Publicado por: eferion en 23 Septiembre 2014, 15:14 pm
en tu caso, num es de tipo long... e inject requiere un puntero doble a tipo char. Son cosas diferentes.

En el ejemplo que te he pasado, argv es un dato que te ofrece el propio main y contiene la lista de parámetros con los que se ha ejecutado la aplicación.


Título: Re: introducir valor a funccion ( char * x [] )
Publicado por: 70N1 en 23 Septiembre 2014, 15:26 pm
No se puede convertir un long a puntero doble char?.


Título: Re: introducir valor a funccion ( char * x [] )
Publicado por: eferion en 23 Septiembre 2014, 15:48 pm
¿Y para qué ibas a hacer eso?

* Un puntero doble a char es un vector de cadenas de caracteres
* Las cadenas de caracteres tienen peculiaridades... como que terminan con el carácter nulo.
* Los char tienen un tamaño de un byte.
* El tamaño de long es variable, lo habitual es que sean 4 u 8 bytes.

Pero eso si, puedes hacer la conversión perfectamente... otra cosa es que luego el programa falle por todos lados:

Código
  1. long num;
  2. long* ptrnum = #
  3. inject( (char**)&ptrnum );

Pero ya te digo que no tiene sentido.


Título: Re: introducir valor a funccion ( char * x [] )
Publicado por: 70N1 en 23 Septiembre 2014, 15:57 pm
Diosss. Alelulla una solucion... por fin.

Gracias tio. muchas gracias


Título: Re: introducir valor a funccion ( char * x [] )
Publicado por: eferion en 23 Septiembre 2014, 16:14 pm
De nada.

Un saludo.