elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  como puedo usar fgetc y fputc sin interrumpir algo y poder concatenar?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: como puedo usar fgetc y fputc sin interrumpir algo y poder concatenar?  (Leído 5,275 veces)
Belial & Grimoire


Desconectado Desconectado

Mensajes: 559


Tea_Madhatter


Ver Perfil
como puedo usar fgetc y fputc sin interrumpir algo y poder concatenar?
« en: 3 Mayo 2010, 03:45 am »

hola

tengo una duda... estoy tratando de aprender a programar algo parecido a los programas como winrar, etc... estuve investigando y para mi se parecen a los joiners...

ahorita tengo un problema con una parte del codigo que no se como hacer...

logre hacer una copia exacta de un archivo, usando fgetc y fputc, pero se me ocurrio hacer un joiner para empezar a entender mejor, ya que los otros programas usan psx y no se que mas... pero bueno, como les mencionaba

en el codigo que les menciono que ya hice logro copiar bien el archivo, pero lo que quiero es leer un archivo con autolectura y split, al final de todo concatenar una firma, y despues leer el archivo que quiero unir y guardarlo alli mismo para crear un executable

para que al ejecutar ese archivo se autolea, separe la informacion usando la firma y haga un nuevo archivo con la informacion separa con el split y se muestre el archivo como originalmente es

lo que no logro hacer es como concatenar esto, tengo el problema de que si uso fgetc en un while usando feof puedo extraer la informacion, pero si en el mismo while no uso fputc y lo uso en otro lado ya no me funciona

y lo que quiero es lograr extraer la informacion con fgetc, concatenar la firma, extraer la informacion igual con fgetc del archivo a unir y guardarlo para crear un executable...

pero como menciono, si no utilizo fgetc y fputc en el mismo while sin interrumpirlo por algun if por ejemplo... el programa se crea pero no funciona

alguien sabe como puedo leer, concatenar, volver a leer para concatenar de nuevo y al final, guardar todo eso en un archivo nuevo?

esto es lo que llevo del codigo, espero alguien me pueda dar sugerencias.. gracias

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.    FILE *entrada;
  7.    FILE *salida;
  8.    char ent;
  9.    int i = 0;
  10.  
  11.    entrada = fopen("C:\\crear.exe", "rb");
  12.    salida = fopen("C:\\nuevo.exe", "wb");
  13.  
  14.    while(!feof(entrada)){
  15.        ent = fgetc(entrada);
  16.        fputc(ent, salida);
  17.    }
  18.  
  19.  
  20.    fclose(entrada);
  21.    fclose(salida);
  22.  
  23. }

salu2


En línea

.                                 
Dellarts

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: como puedo usar fgetc y fputc sin interrumpir algo y poder concatenar?
« Respuesta #1 en: 3 Mayo 2010, 20:21 pm »

Con fputs y fgets no he conseguido encontrar el error aqui esta mi propuesta a mi me funciona.

Código:
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    FILE *entrada;
    FILE *salida;
    char ent;
    int i = 0;
 
    entrada = fopen("crear.exe", "rb");
    salida = fopen("nuevo.exe", "wb");
 
    while(!feof(entrada)){
        fread(&ent, 1,1,entrada);
    fwrite(&ent, 1, 1, salida);
    }
    fclose(entrada);
    fclose(salida);
}


Saludos


En línea

Belial & Grimoire


Desconectado Desconectado

Mensajes: 559


Tea_Madhatter


Ver Perfil
Re: como puedo usar fgetc y fputc sin interrumpir algo y poder concatenar?
« Respuesta #2 en: 4 Mayo 2010, 23:58 pm »

hola

gracias por responder, pero asi tambien tengo el mismo problema

lo que quiero hacer es con el while abrir dos archivos, concatenar algunos simbolos paara hacer esto

archivo1 + simbolos + archivo2

pero en el while puedo leer bien el archivo que quiero, pero si fwrite o fputc lo pongo afuera del while, ya no me guarda la informacion bien

y necesito extraer la informacion con el while, despues cuando termine... concatenar algunos simbolos, y concatenar la siguiente informacion...

algo asi

while(!feof(archivo1)){
}
while(!foef(archivo2)){
}

strcpy(nuevo,archivo1);
strcat(nuevo, "--__--");
strcat(nuevo,archivo2);

despues, fwrite o fputc

el problema es que si lo hago asi... como mencione... afuera de while si uso fwrite o fputc no me crea el archivo completo, solo me guarda una pequeña parte y se cierra por error

alguna idea de como podria hacer eso?
En línea

.                                 
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[AYUDA] Cómo puedo concatenar un char a un puntero de chars?
Programación C/C++
papita5 8 6,725 Último mensaje 19 Octubre 2011, 20:39 pm
por papita5
Como poder usar 2 redes a la vez.
Redes
xtu 2 2,409 Último mensaje 21 Noviembre 2011, 16:00 pm
por tremolero
¿Cómo concatenar dos o mas consultas en c# y que se muestren?
.NET (C#, VB.NET, ASP)
irvincnt93 1 2,421 Último mensaje 16 Abril 2015, 20:59 pm
por fran800m
Duda putc y fputc
Programación C/C++
TheZeck 2 1,754 Último mensaje 12 Noviembre 2016, 12:15 pm
por TheZeck
¿Como puedo concatenar una condicional? (Muy Importante)
Desarrollo Web
Leguim 2 1,659 Último mensaje 4 Febrero 2019, 00:59 am
por Leguim
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines