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