Resultados 1 al 3 de 3

novato en C

  1. #1 novato en C 
    Iniciado
    Fecha de ingreso
    Aug 2003
    Mensajes
    2
    Descargas
    0
    Uploads
    0
    Hola. Estoy empezando con el C/C++ y intento hacer un programa que escanee IPs con el comando "nbtstat -A ipaescanear", hasta aqui es facil. Pero deseo que el programa me pregunte cual es la IP que quiero escanear. Pero llego a esta conclusion (erronea): "system("nbtstat -A %c", ip);" . Lo se, asi es como se hace para meter variables en los printf, y en este caso no es correcto, pero nunca habia metido una variable en una funcion de este tipo, eso es lo que no se hacer.

    Como llamo desde "system("...")" a una variable de qualquier tipo?

    Recordad que en esto soy un newbie (por el lenguaje tesnico mas que nada...)...

    Muchas gracias de antemano.
    <- Solo hay dos cosas infinitas: el universo y la ignorancia humana; pero de la primera no estoy seguro ->

    Albert Einstein
    Citar  
     

  2. #2  
    Moderador HH
    Fecha de ingreso
    Feb 2002
    Ubicación
    México
    Mensajes
    1.156
    Descargas
    4
    Uploads
    0
    hola, para empezar no confundas las sintaxis, puesto que no es lo mismo la funcion system que printf, lo que puedes hacer es usar dos arreglos de caracteres, hay una función que se llama strcat y sirve para unir dos cadenas de texto, mas o menos deberia quedar asi:

    char cadena[50]="nbtstat -A ";
    char ip[16];
    scanf("%s",ip);
    strcat(cadena,ip);
    system(cadena);

    espero que te sirva de algo, sólamente agrego que la funcion strcat esta en la función string.h, para más información visita esta pagina:

    http://c.conclase.net/librerias/funcion.php?fun=strcat
    Citar  
     

  3. #3  
    Iniciado
    Fecha de ingreso
    Aug 2003
    Mensajes
    2
    Descargas
    0
    Uploads
    0
    muxas gracias, giskard. ya me funciona el programa, aunque al final no lo he echo de la manera como m aconsejavas ya q resolvi mi duda antes, de esta manera:

    int a=192;
    int b=168;
    int c=0;
    int d=130;
    char ordre[10];


    sprintf(ordre,"nbtstat -A %d.%d.%d.%d",a,b,c,d);
    system(ordre);

    De forma provisional, como prueba, asigne el valor de los campos de la IP en la declaracion de los enteros, y funciona a la perfeccion, ya are luego los scanfs i printfs necesarios...

    PD.- Gracias por la direccion de la web, se ve bastante completa.
    <- Solo hay dos cosas infinitas: el universo y la ignorancia humana; pero de la primera no estoy seguro ->

    Albert Einstein
    Citar  
     

Temas similares

  1. Respuestas: 1
    Último mensaje: 23-11-2014, 16:46
  2. Una pregunta de un novato (muy novato)
    Por Suso_vimi en el foro WINDOWS
    Respuestas: 4
    Último mensaje: 23-09-2007, 22:59
  3. Novato:
    Por colbushido en el foro DIGITAL+
    Respuestas: 0
    Último mensaje: 06-09-2006, 12:03
  4. novato
    Por atreyu_ct en el foro TELEVISION
    Respuestas: 0
    Último mensaje: 17-05-2006, 17:08
  5. Novato
    Por Valdriz en el foro DIGITAL+
    Respuestas: 0
    Último mensaje: 12-05-2006, 18:07

Marcadores

Marcadores