Unsigned char – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Unsigned char – C / C++ – Fórum – Programujte.comUnsigned char – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
oxidián0
Grafoman
6. 8. 2017   #1
-
0
-

Jak vyřešit tento problém?

unsigned char rowBuf [ROW_LENGHT];
memset ( rowBuf, 0, sizeof(rowBuf) );

186|warning: pointer targets in passing argument 1 of 'strcat' differ in signedness [-Wpointer-sign]|

mingw\bin\..\lib\gcc\mingw32\4.7.1\..\..\..\..\include\string.h|41|note: expected 'char *' but argument is of type 'unsigned char *'|

mám použít

char rowBuf [ROW_LENGHT];

?

a jaký je tam vlastně rozdíl mezi char a unsigned char? může vůbec char být unsigned? char je rozsah 0-255 tam přece není znaménko...

Nahlásit jako SPAM
IP: 78.102.61.–
gna
~ Anonymní uživatel
1891 příspěvků
6. 8. 2017   #2
-
+1
-
Zajímavé

Všechny základní číselné typy jsou znaménkové. char je -128 .. 127. unsigned char je 0 .. 255.

Jestli s tím polem chceš různě operovat jako s textovým řetězcem i jako s polem bajtů, tak to můžeš podle potřeby vždycky přetypovat (pořád jsou to jen data v paměti, jen říkáš jak je interpretovat). Pokud to má být jen textový řetězec, tak prostě vyhoď to unsigned.

Nahlásit jako SPAM
IP: 213.211.51.–
oxidián0
Grafoman
6. 8. 2017   #3
-
0
-

#2 gna
Ok, tak to bude nejlepší. Díky

Nahlásit jako SPAM
IP: 78.102.61.–
6. 8. 2017   #4
-
0
-

záliba v sizeof.. Někde si přečti, jak ten operátor funguje. Pokud máš statické pole jehož velikost je dána makrem, používej toto makro. Je to "čitelnější" a hlavně: jestli použiješ někde ukazatel na toto pole, vyhneš se problému, který jsi nedávno řešil.

hu

Nahlásit jako SPAM
IP: 193.86.81.–
oxidián0
Grafoman
6. 8. 2017   #5
-
0
-

#4 hlucheucho
To jsem nějak přehlédl.

Nahlásit jako SPAM
IP: 78.102.61.–
KIIV
~ Moderátor
+43
God of flame
6. 8. 2017   #6
-
0
-

Mimochodem, muzes taky zmenit nastaveni kompilace, aby byl typ char typu unsigned char. Beztak se na to neda mezi ruznejma prekladacema spolehnout.

Nahlásit jako SPAM
IP: 37.188.159.–
Program vždy dělá to co naprogramujete, ne to co chcete...
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, 128 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ý