elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  introducir valor a funccion ( char * x [] )
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: introducir valor a funccion ( char * x [] )  (Leído 2,651 veces)
70N1


Desconectado Desconectado

Mensajes: 355


Ver Perfil
introducir valor a funccion ( char * x [] )
« en: 23 Septiembre 2014, 14:29 pm »

esta es la funcction:

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

}

Como podria llamarla desde el main?


En línea

70N1
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: introducir valor a funccion ( char * x [] )
« Respuesta #1 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.


« Última modificación: 23 Septiembre 2014, 14:57 pm por eferion » En línea

70N1


Desconectado Desconectado

Mensajes: 355


Ver Perfil
Re: introducir valor a funccion ( char * x [] )
« Respuesta #2 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);

En línea

70N1
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: introducir valor a funccion ( char * x [] )
« Respuesta #3 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.
En línea

70N1


Desconectado Desconectado

Mensajes: 355


Ver Perfil
Re: introducir valor a funccion ( char * x [] )
« Respuesta #4 en: 23 Septiembre 2014, 15:26 pm »

No se puede convertir un long a puntero doble char?.
En línea

70N1
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: introducir valor a funccion ( char * x [] )
« Respuesta #5 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.
En línea

70N1


Desconectado Desconectado

Mensajes: 355


Ver Perfil
Re: introducir valor a funccion ( char * x [] )
« Respuesta #6 en: 23 Septiembre 2014, 15:57 pm »

Diosss. Alelulla una solucion... por fin.

Gracias tio. muchas gracias
En línea

70N1
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: introducir valor a funccion ( char * x [] )
« Respuesta #7 en: 23 Septiembre 2014, 16:14 pm »

De nada.

Un saludo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines