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