Resultados 1 al 5 de 5

duda de c

  1. #1 duda de c 
    Moderador HH
    Fecha de ingreso
    Sep 2002
    Ubicación
    127.0.0.1
    Mensajes
    1.817
    Descargas
    3
    Uploads
    0
    hay alguna funcion en c que permita al programa hacer una copia de sí mismo?
    Quien no sabe lo que busca no entiende lo que encuentra.
    Citar  
     

  2. #2  
    Medio
    Fecha de ingreso
    Sep 2002
    Mensajes
    119
    Descargas
    0
    Uploads
    0
    Si te pudieras explicar algo más se agradecería, yo no comprendo lo que quieres hacer, para hacer una copia de si mismo donde? en memoria? en el disco duro? no se, explicate!
    Citar  
     

  3. #3  
    Moderador HH
    Fecha de ingreso
    Feb 2002
    Ubicación
    México
    Mensajes
    1.156
    Descargas
    4
    Uploads
    0
    ¿te refieres a algo así como un worm?

    talvez sea posible con la funcion system (no recuerdo de qué librería es), por ejemplo si tu programa se llama programa.exe (pensé mucho en ese nombre :P)

    system("copy programa.exe program2.exe");

    espero sirva de algo.
    saludos
    Mientras el mundo permanezca no acabarán la fama y la gloria de México-Tenochtitlan
    Citar  
     

  4. #4  
    Moderador HH
    Fecha de ingreso
    Sep 2002
    Ubicación
    127.0.0.1
    Mensajes
    1.817
    Descargas
    3
    Uploads
    0
    si, me referia a copiarse como un worm, lo probaré gracias giskard
    Quien no sabe lo que busca no entiende lo que encuentra.
    Citar  
     

  5. #5  
    Medio
    Fecha de ingreso
    Sep 2002
    Mensajes
    119
    Descargas
    0
    Uploads
    0
    eso de system es una chapuza increible, lo que puedes hacer es lo siguiente...

    (Todo es utilizando el estandar POSIX)

    int copy_file(char *src, char *dst) {
    int fd_src, fd_dst;
    ssize_t c;
    char buf[MAX_NAME_SZ];

    if ((fd_src=open(src,O_RDONLY))==-1) return -1;

    if ((fd_dst=open(dst,O_WRONLY | O_TRUNC | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR))==-1)
    return -1;

    while((c=read(fd_src,buf,MAX_NAME_SZ)) > 0)
    write(fd_dst,buf,c);

    close(fd_src);
    close(fd_dst);

    return 0;
    }

    int main(int argc, char **argv) {
    if (copy_file(argv[0], argv[1])) {
    perror("copy_file()");
    exit(-1);
    }

    printf("Fichero copiado satisfactoriamente\n");

    return 0;
    }
    Citar  
     

Temas similares

  1. Duda-.-
    Por Jesus en el foro OFF-TOPIC
    Respuestas: 0
    Último mensaje: 13-10-2003, 23:45
  2. duda red
    Por smad en el foro HARDWARE
    Respuestas: 9
    Último mensaje: 23-09-2003, 19:02
  3. una duda
    Por wilfri80 en el foro LINUX - MAC - OTROS
    Respuestas: 8
    Último mensaje: 05-08-2003, 21:00
  4. Duda...
    Por Fito en el foro OFF-TOPIC
    Respuestas: 6
    Último mensaje: 01-08-2003, 17:07
  5. duda de FTP's ;)
    Por uri en el foro JUEGOS
    Respuestas: 3
    Último mensaje: 25-04-2003, 23:29

Marcadores

Marcadores