• Miércoles 17 de Abril de 2024, 00:41

Autor Tema:  Alguna Alternativa Al System???  (Leído 1252 veces)

tasman

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Alguna Alternativa Al System???
« en: Miércoles 18 de Febrero de 2004, 01:39 »
0
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. ;-)

desorden

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Alguna Alternativa Al System???
« Respuesta #1 en: Miércoles 18 de Febrero de 2004, 02:11 »
0
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...
desorden

tasman

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Alguna Alternativa Al System???
« Respuesta #2 en: Miércoles 18 de Febrero de 2004, 14:16 »
0
Fantástico, todo va de muerte, Gracias!!!

Un Saludo.

plaf

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Re: Alguna Alternativa Al System???
« Respuesta #3 en: Jueves 19 de Febrero de 2004, 21:20 »
0
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.