Ver Mensaje Individual
  #3  
Antiguo 23-11-2017
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 11
aguml Va por buen camino
Se me ocurre algo así:
Código PHP:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
    
int valor=0x12345678;
    
int i;
    
char cadena[11];
    
char aux[3];
    
sprintf(cadena,"0x%X",valor);
    
printf("%s\n",cadena);
    for(
i=2;i<6;i+=2){
        
strncpy(aux,&cadena[i],2);
        
strncpy(&cadena[i],&cadena[8-(i-2)], 2);
        
strncpy(&cadena[8-(i-2)],aux,2);
    }
    
printf("%s\n",cadena);
    
valor=atoi(cadena);
    
printf("%x\n",valor);
    return 
0;

Solo que atoi no me devuelve un valor bueno aunque quiero hacerlo con AnsiString y tiene su método ToInt() y podría usar SubString en lugar de strncpy pero tengo que ver cómo adaptarlo. El fallo que veo es que trabajar con strings es lento en comparación con trabajar con números.
Otra opción que se me ocurre es leer del fichero 4 bytes como char[4] y luego convertir con algún Cast esos 4 bytes en un entero ¿Con eso obtendría el valor invertido? ¿Cómo se haría ese Cast?
Responder Con Cita