ayuda porfa

Iniciado por MarSalem, 25 Mayo 2020, 21:44 PM

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

MarSalem

tengo este ejercicio.
realizar un programa que cree un archivo binario con bytes aleatorios, garantizando que en alguna parte del programa se encuentre la secuencia de 7 bytes a8 5c 60 70 70 af ef.


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

#define N 8

int main(){

FILE * FP, *FPAUX;
int i, ENCONTRADO;
int byte;

srand(time(NULL));


if ( (FP = fopen ("EJ","wb")) == NULL ) {
printf("\n\n ERROR APERTURA DE ARCHIVO \n\n") ;
exit(1);

}

printf("\n\t\t INGRESE BYTE A ALMACENAR \n\n");
for ( i = 0 ; i < N ; i++ ) {
byte = rand() % 65536;
printf("\n\n\t %x \n", byte);

fwrite ( &byte , sizeof(byte) , 1 , FP );
}

fclose(FP);

if ( (FP = fopen ("EJ","rb")) == NULL ) {
printf("\n\n ERROR APERTURA DE ARCHIVO LECTURA \n\n") ;
exit(1);
};

if ( (FPAUX = fopen ("EJAUX","wb")) == NULL ) {
printf("\n\n ERROR APERTURA DE ARCHIVO ESCRITURA \n\n") ;
exit(1);
};

fread ( &byte , sizeof(byte) , 1 , FP );
while ( ! feof(FP)) {
if ( byte == 43100)
fseek(FP, sizeof(byte) , SEEK_SET);
if (byte == 26992)
fseek(FP, sizeof(byte), SEEK_CUR);
if(byte == 28847)
fseek(FP, sizeof(byte), SEEK_CUR);
if(byte == 239)
ENCONTRADO = 1;


fwrite ( &byte, sizeof(byte) , 1 , FPAUX );

fread ( &byte , sizeof(byte) , 1 , FP );
}


fclose(FP);
fclose(FPAUX);


/*  ELIMINAMOS BD Y RENOMBRAMOS BDAUX COMO BD  */
remove("EJ") ;
rename( "EJAUX" , "EJ" );


return 0 ;

}


ese es lo que hice hasta ahora pero el if no me funciona, no se si estoy usando mal el fseek



MOD: Utiliza etiquetas de Código GeSHi para el código
insta @marsquarepants