SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: tasman en Miércoles 18 de Febrero de 2004, 01:39

Título: Alguna Alternativa Al System???
Publicado por: tasman en Miércoles 18 de Febrero de 2004, 01:39
Hola!, Me gustaria saber si existe alguna forma de utilizar variables en funciones como System. Ya que éste no las permite.

Es decir, por ejemplo: un programa que haga un ping a una IP determinada por el usuario, llamando al comando de MS-DOS ping.

Lo que intenté fue esto:

system("ping %i.%i.%i.%i", ip1, ip2, ip3, ip4);

Xo claro, esto no iba ni cara al aire, ya que el system no permite variables.

Bueno, espero que alguien salga con la solución.

Mientras tanto, GRACIAS x adelantado. ;-)
Título: Re: Alguna Alternativa Al System???
Publicado por: desorden en Miércoles 18 de Febrero de 2004, 02:11
Existen alternativas a la función system pero depende de la plataforma sobre la que programes.

Puedes probar algunas funciones de string.h.

Código: Text
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5.  
  6. int main(void)
  7. {
  8.         char ip[] = "foros.solocodigo.com";
  9.         char comando[] = "ping";
  10.         char orden[50];
  11.  
  12.         strcpy(orden, comando);
  13.         strcat(orden, " ");
  14.         strcat(orden, ip);
  15.         system(orden);
  16.         return 0;
  17. }
  18.  
  19.  

Un saludo...
Título: Re: Alguna Alternativa Al System???
Publicado por: tasman en Miércoles 18 de Febrero de 2004, 14:16
Fantástico, todo va de muerte, Gracias!!!

Un Saludo.
Título: Re: Alguna Alternativa Al System???
Publicado por: plaf en Jueves 19 de Febrero de 2004, 21:20
mas facil te sale usar sprintf(), q es igual q el printf() pero en vez de imprimir el texto en pantalla lo imprime en un string q le das como parametro, asi:
Código: Text
  1. sprintf(string,"ping %i.%i.%i.%i", ip1, ip2, ip3, ip4);
  2. system(string);
  3.