Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdlib.h>
- #include<stdio.h>
- void copyLEToLE(int broj, void* adresa_kopija);
- void copyLEToBE(int broj_LE, void* adresa_BE);
- int main(){
- int adresa_kopija; // napravim neki podatak
- int nina=18; // 18.12.2001.
- copyLEToLE(nina,&adresa_kopija); // f-ja prima void* adresu bilo koju
- // moze da kastuje u bilo koju adresu
- // ne radi sa floatom
- printf("Prikaz broja sa prikazane adrese %d\n",adresa_kopija);
- int dusan=0x06012001;
- int dusan_be;
- copyLEToBE(dusan,&dusan_be);
- printf("\nDusan u be %08x\n",dusan_be);
- return 0;
- }
- void copyLEToLE(int broj, void* adresa_kopija){ // prosledjujem broj koji hocu da kopiram i adresu gde cu ga kopirati u LE formatu
- char *broj_kopija=(char*)&broj; //kastujem broj u char* i uzmem njegovu pocetnu adesu sa &
- char *adresa_nova=(char*)adresa_kopija; //kastujem ovu void adresu u char da se mogu kretati batj po bajt
- int i;
- for(i=0;i<sizeof(int);i++){ //vrtim se u petlji koliko mi je velik taj podatak koji kopiram
- *(adresa_nova+i)=*(broj_kopija+i); // dodajem bajt po bajt od broja na novu adresu
- }
- }
- void copyLEToBE(int broj_LE, void* adresa_BE){
- char* pom_broj=(char*)&broj_LE; // pomocni pokazivac za broj & da znam gde je pocetak tog broja
- char* pom_adresa=(char*)adresa_BE; // pomocni pokazivac za adresu
- int i;
- for(i=0;i<sizeof(int);i++){
- *(pom_adresa+i)=*(pom_broj+sizeof(int)-i-1); // zasto -1 ???
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement