Test Foro de elhacker.net SMF 2.1

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:


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

int main( int argc, char** argv )
{
 inject( argv );
}


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

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:


long num;
long* ptrnum = #
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.