problem v C
Hynek Sladky
sladky
Středa Březen 17 12:05:04 CET 2004
> Ten kod by mel fungovat, jsou dve moznosti proc nefunguje
>
> 1. Blbe implementovana funkce printf().
> 2. Hloupej prekladac, kterej nevi, ze za stringem ma bejt nulovy znak.
>
> -Olda
Ani jedno ani druhe. Ja bych spis rekl, ze problem je - jako vetsinou - mezi zidli a klavesnici...
Podle mne prekladac vytvori z nize uvedeneho _pole_ znaku, protoze ukoncovaci znak na konci _retezce_ se tam uz proste nevejde.
Takze kdyz definici pole rozsirim na 17 znaku, uz by tam mela ukoncovaci '\0' byt... Nebo si udelat fci, ktera zkopiruje
zadany/pevny pocet znaku...
Hynek Sladky
>
>
> ----- Original Message -----
> From: Jakub Ladman <ladmanj@volny.cz>
> To: Multiple recipients of list <hw-news@list.gin.cz>
> Sent: Wednesday, February 21, 2001 7:06 PM
> Subject: problem v C
>
>
> > Ceckari pomozte,
> > mam nasledujici pole a chci tisknout data v nich obsazena timto zpusobem
> > printf("%s",menu1[mnu]);
> > problem je ten, ze to vytiskne az do uplneho konce pole,
> > tedy napr. pro mnu=1 : "2. Teplota 3. Cas/Datum "
> > neni nejake elegantnejsi reseni, nez postupny zapis daneho poctu char-u
> > (napr. printf("%c%c%c%c...%c",menu2[mnu])
> > Nacpat to do nejakeho bufferu nepripada v uvahu, je malo RAM
> > Dalsi vec je pristup do pole ukazatelem, jak na to? Jde mi o volani fce s
> > parametrem cislo polozky v menu a vlastni pole menu a ta fce ma urcenou
> > polozku vytisknout na prvni radek LCD displaye a za ni nasledujici polozku
> > na druhy radek.
> > Diky
> > Jakub Ladman
> > static char code menu1[3][16]= {"1. INFO ",
> > "2. Teplota ",
> > "3. Cas/Datum "};
> > static char code menu2[5][16]= {"1. Zobrazit ",
> > "2. Nizka teplota",
> > "3. Vys. teplota",
> > "4. Krit. teplota",
> > "5. Hystereze "};
> > static char code menu3[3][16]= {"1. Zobrazit ",
> > "2. Upravit cas ",
> > "3. Upravit datum"};
>
Další informace o konferenci Hw-list