Gå til innhold

kopiere en peker


Anbefalte innlegg

hvordan kan en kopiere datene som en peker peker på.

har:

unsigned char* a;
unsigned char* b;
unsigned char* c;

a = b;
//forandrer sett peker c til å peke et annet sted.
//så
b = c;

 

Men dette gir samme resultat til a og b, så trenger å kopiere det som peker c peker på over i peker a. (peker c går gjennom en avi film) og treng frame n og n+1 for å gjøre videre beregninger.

Lenke til kommentar
Videoannonse
Annonse

hmm.. for å kopiere det en peker peker til så må du

 

 

int TallA = 45;

int TallB = 0;

 

int* PekerA = &TallA; //peker til TallA

int* PekerB = &TallB; //peker til TallB

TallB = *PekerA; //nå har TallB samme verdi som PekerA peker til

//PekerB peker nå til en verdi med verdi 45.

 

ting blir litt mer komplisert når vi snakker om andre ting som char array memcpy burde du kikke på. Legg merke til at hvis du oppgir større datasize enn dest bufferen kan dette gi bufferoverrun feil som kan være ekstremt vanskelig å finne.

 

God jul og lykke til

Lenke til kommentar

tee må være en array som er like stor som sizeof(data)

 

eks

tee = new char[sizeof(data)];

 

Hvis du ikke gjør dette vil programmet prøve å skrive til minne området som tee peker til og det vil ikke gå siden OSet hindrer at du får skrive til områder som ikke er programmet sitt.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...