C sztring

Nya'ri Viktor office at flexelec.hu
Tue Dec 27 18:48:51 CET 2005


Köszi!
A második szintaktikája:
const int8 const *szoveg="alma";

ez így nem oké, így viszont már elfogadta:
int8 const *szoveg[5]="alma";

viszont nem úgy mu"ködik, mint ahogy kellene, azaz minden második 
karaktert tárolja csak el.
Pl. az

int8 const *szoveg[9]="abcdefgh";
for (i=0; i<9; i++)
{printf(lcd,"%x ",szoveg[i]);}

így adja vissza:
61 63 65 67 00 00 00 00 00

De hogy miért csak minden másodikat tárolja el, és a végét meg feltölti 
00-kal??? Ki érti ezt?

Az elso" formula viszont oké.
const int8 szoveg[4]={'a','l','m','a'};

Bár jobb lenne, ha teljesen folyamatosan írva is meg lehetne adni, de 
így is jobb mint a semmi.
Esetleg ha van még valakinek tippje, azt megköszönném.

hoyuka hoya wrote:
> Szia,
> 
> Mondok ket megoldast ami szerintem mukodik:
> 
> 1. const int8 szoveg[4]={'a','l','m','a'};
> 2. const int8 const *szoveg="alma";
> 
> Ez uttobinal 0 lezaro karakter lesz a tomb vegen, tehat 5 elemu lesz.
> 
> udv.
> hoyuka

>>De hogy lehet azt megoldani, hogy úgy tudjam megadni a szöveget, mint
>>mondjuk a printf-ben, hogy egybefüggõ szövegként gépelem be? Azaz valami
>>ilyesmi kellene:
>>
>>int8 const szoveg[4] = {"alma"};
>>
>>Vagy ha ilyen lehetõség nincs, még így is jó lenne, hogy:
>>
>>int8 const szoveg[4] = {"a","l","m","a"};




More information about the Elektro mailing list