Duda C

Iniciado por D4RKS0N1K, Enero 24, 2016, 07:27:06 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Enero 24, 2016, 07:27:06 PM Ultima modificación: Enero 24, 2016, 10:10:02 PM por Expermicid
Buenas, estaba haciendo un ejercicio en C el cual es pasar el cntenido de un fichero a otro.Cree un fichero en el que escribi "hola12".Fui avanzando a lo largo del dia en el programa, hubo un punto en el que conseguí que se copiara completamente, pero el programa no se cerraba, se quedaba la consola trabada y se trababa ubuntu en si.
A ver si podeis ayudarme ;

Código: c
#include <stdio.h>
#include <stdlib.h>
int main(void){
FILE*arch,*archx;
char c;
arch=fopen("archivodeprueba.txt","r");
archx=fopen("archivodestino.txt","w");
while(!feof(arch)){
fscanf(arch,"%c",&c);
fprintf(archx,"%c",c);
fclose(arch);
fclose(archx);
}
exit(0);
}


Aprovecho para realizar una cuestion rapida.He estado leyendo bastante acerca de beef pero me he quedado con la duda de en que ambito sirve.Podria aplicarlo por ejemplo en mi red local de wifi para realizar pruebas?

Un saludo

Prueba a cerrar los archivos fuera del bucle a ver que pasa :D
RollthBuen hacker mejor No tienes permitido ver los links. Registrarse o Entrar a mi cuenta/No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Prueba a cerrar los archivos fuera del bucle a ver que pasa :D

Buenas!
Gracias por responder
Ya probé a ponerlos fuera del bucle y copiaba la cadena bien, pero no finaliza el programa, y se queda la terminal colgada.
P.D:¿Alguien puede orientarme respecto a lo de beef?

Un saludo

Función para copiar fichero origen con fichero destino:

Código: c

int copy_file(char* f_org,char* f_dest);
int main(){
if(!copy_file("fichero1.txt","fichero2.txt"))
                printf("El fichero no se puede copiar\n");
else printf("Fichero copiado correctamente\n");
return 0;
}

int copy_file(char* f_org, char* f_dest){
FILE *fp_org,*fp_dest;
char c;

if(!(fp_org=fopen(f_org,"rt")) || !(fp_dest=fopen(f_dest,"wt")))
{
perror("Error al abrir el fichero");
exit(EXIT_FAILURE);
}

while((c=fgetc(fp_org))!=EOF && !ferror(fp_org) && !ferror(fp_dest))
fputc(c,fp_dest);

if(ferror(fp_org) || ferror(fp_org))
return 1;

fclose(fp_org);
fclose(fp_dest);
return 0;
}


Respecto a la función "beef" no la conozco, nos puedes dar más detalles?

Saludos

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Función para copiar fichero origen con fichero destino:

Código: c

int copy_file(char* f_org,char* f_dest);
int main(){
if(!copy_file("fichero1.txt","fichero2.txt"))
                printf("El fichero no se puede copiar\n");
else printf("Fichero copiado correctamente\n");
return 0;
}

int copy_file(char* f_org, char* f_dest){
FILE *fp_org,*fp_dest;
char c;

if(!(fp_org=fopen(f_org,"rt")) || !(fp_dest=fopen(f_dest,"wt")))
{
perror("Error al abrir el fichero");
exit(EXIT_FAILURE);
}

while((c=fgetc(fp_org))!=EOF && !ferror(fp_org) && !ferror(fp_dest))
fputc(c,fp_dest);

if(ferror(fp_org) || ferror(fp_org))
return 1;

fclose(fp_org);
fclose(fp_dest);
return 0;
}


Respecto a la función "beef" no la conozco, nos puedes dar más detalles?

Saludos

Estaba tratando de hacerlo sin funciones, el código que pones lo vi hace un par de horas buscando jajajaja, pero gracias por la intención.
Respecto a lo de beef no tiene nada que ver con C, me refería a BeEF - The Browser Exploitation Framework Project

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Respecto a lo de beef no tiene nada que ver con C, me refería a BeEF - The Browser Exploitation Framework Project

No mezcles temas por favor.

Saludos.



No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Respecto a lo de beef no tiene nada que ver con C, me refería a BeEF - The Browser Exploitation Framework Project

No mezcles temas por favor.

Saludos.

Solo aproveché una duda para plantear otra mini-duda y evitar hacer dos tópicos, no veo nada malo en ello :l

saludos

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Respecto a lo de beef no tiene nada que ver con C, me refería a BeEF - The Browser Exploitation Framework Project

No mezcles temas por favor.

Saludos.

Solo aproveché una duda para plantear otra mini-duda y evitar hacer dos tópicos, no veo nada malo en ello :l

saludos

No hay nada de malo, pero para mantener un orden y facilitar que la solución de tu duda sea encontrada por otros usuarios que la necesiten, se crea otro post.

Saludos.



Código: c


#include <stdio.h>
#include <stdlib.h>

int main(){
  FILE *f_origen,*f_destino;
  char c;

  f_origen=fopen("origen.txt","r");
  f_destino=fopen("destino.txt","w");

  fscanf(f_origen,"%c",&c);
 
  while(c!=EOF) { // Comprobamos final de fichero
  fprintf(f_origen,"%c",c);
    fscanf(f_destino,"%c",&c);
  } // Fin while

  fclose(f_origen); // Cerramos el fichero origen
  fclose(f_destino); // Cerramos el fichero destino

  system("PAUSE");
  return 0
}