Jak převedu struct na pole znaků – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jak převedu struct na pole znaků – C / C++ – Fórum – Programujte.comJak převedu struct na pole znaků – C / C++ – Fórum – Programujte.com

 

Marcel
~ Anonymní uživatel
14 příspěvků
16. 3. 2020   #1
-
0
-

Mějme strukturu

typedef struct TIME
{
    char name[16];                // 16 bytu
    unsigned char n;             //   1 byt
    unsigned short time[4];   //  16 bytu
    unsigned short delay[4]; //  16 bytu
    unsigned char  CRC;      //    1 byt
};

Tedy vlastně 50 bytu, které potřebuji byt po bytu poslat kamsi., neob jinak,do CRC potrebuji ulozirt crc8 49 bytu v struktuře něco jako

char CRC8(const char* data, int length)

Otázka zní m jak převedu strukturu na pole znaků?

Nahlásit jako SPAM
IP: 89.103.236.–
gna
~ Anonymní uživatel
1849 příspěvků
16. 3. 2020   #2
-
0
-

 Nejdříve se ujisti, že v té struktuře nebude žádné zarovnání.

#pragma pack(push)
#pragma pack(1)
typedef...
#pragma pack(pop)

A pak stačí vzít její adresu a přetypovat ji.

CRC8((char*)&struktura, sizeof(struktura));
Nahlásit jako SPAM
IP: 213.211.51.–
marcel
~ Anonymní uživatel
14 příspěvků
17. 3. 2020   #3
-
0
-

Ano, to je ono děkuji.

Fakt se někdy budu muset na ty #pragma podivat :-)
 

čistě pro uiplnost,

CRC8((char*)&struktura, (sizeof(struktura)-1));

Ještě jednou dik.

Nahlásit jako SPAM
IP: 2a00:1dc0:caff:b2::26ac...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý