Forum » Programiranje » [c] memcpy
[c] memcpy
slovencl ::
A mi lahko prosim nekdo razloži, zakaj zgornja koda ne deluje, spodnja pa?
LP, K
uint32_t dolzina; memcpy(&dolzina, &buf[15], 4); printf("dolzina1 je: %i\n", dolzina); // rezultat je vedno 0 dolzina=buf[18]*256*256*256 + buf[17]*256*256 + buf[16]*256 + buf[15]; printf("dolzina2 je: %i\n", dolzina); // izpise pravo vrednost
LP, K
- spremenil: slovencl ()
sas084 ::
Vprašnje je kakšne tipe maš v bufferju. Z memcopy kopiraš 4 bajte, če maš buffer definiran kot
uint32_t buff[]in maš 0 na buf[15] potem je jasno zakaj je tak rezultat.
slovencl ::
Buf je definiran kot:
Ne, buf[15-18] ni 0. dolzina2 da pravo vrednost.
BTW, obratno pa deluje brez problema: memcpy(&buf[15], &dolzina, 4);
LP, K
unsigned char buf[500];
Ne, buf[15-18] ni 0. dolzina2 da pravo vrednost.
BTW, obratno pa deluje brez problema: memcpy(&buf[15], &dolzina, 4);
LP, K
Tutankhamun ::
uint32_t dolzina; unsigned char buf[500]; buf[18] = 0x00; buf[17] = 0x00; buf[16] = 0x00; buf[15] = 0x01; memcpy(&dolzina, &buf[15], 4); printf("dolzina1 je: %i\n", dolzina); dolzina=buf[18]*256*256*256 + buf[17]*256*256 + buf[16]*256 + buf[15]; printf("dolzina2 je: %i\n", dolzina); Izpis: dolzina1 je: 1 dolzina2 je: 1
Meni dela :D
AMD Phenom QUAD 9950 Black Edition, 8GB
slovencl ::
Hvala, vse je v redu :)
Spet butasta napaka... v memcpy(&dolzina, &buf[15], 4); sem narobe napisal dolzina... imel pa sem drugo spremenljivko s tem istim napačnim imenom, zato mi ni javilo nobene napake
Spet butasta napaka... v memcpy(&dolzina, &buf[15], 4); sem narobe napisal dolzina... imel pa sem drugo spremenljivko s tem istim napačnim imenom, zato mi ni javilo nobene napake
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C++] problem z binarnimi datotekamiOddelek: Programiranje | 955 (820) | mallard |
» | C strukture, kazalci naloga pomocOddelek: Programiranje | 1470 (1365) | DavidJ |
» | [C/C++] pointerji in referenceOddelek: Programiranje | 2046 (1870) | Matako |
» | Pointer-ji v C-juOddelek: Programiranje | 1786 (1484) | rokpok |
» | Coding StyleOddelek: Programiranje | 3472 (2664) | 64202 |