Portál AbcLinuxu, 10. května 2025 02:19

Dotaz: velkost va_list

21.8.2006 13:05 macrek | skóre: 12
velkost va_list
Přečteno: 221×
Odpovědět | Admin
Zdravim,

Ako by sa dalo zistit velkost va_list ?
Potrebujem vyalokovat miesto pre retazec, ale neviem ako mam zistit velkost listu argumentov.

pouzite funkcie: va_start(), va_end(), vsprintf()
An eye for an eye makes the whole world blind.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

21.8.2006 13:14 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: velkost va_list
Odpovědět | | Sbalit | Link | Blokovat | Admin

To zjistit nelze, stejně jako nelze zjistit, jaké jsou typy jednotlivých argumentů. A priori to ví jen volající funkce. Většinou se používá buď koncová značka (jako u execl()) nebo počet a typ argumentů specifikujete některým z povinných argumentů (jako u printf()).

21.8.2006 13:17 macrek | skóre: 12
Rozbalit Rozbalit vše Re: velkost va_list
hmm, tak to si ma teda nepotesil :) ako to mam teda vyriesit ? neviem kolko pamate mam vyalokovat..
An eye for an eye makes the whole world blind.
21.8.2006 13:20 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: velkost va_list
Záleží na tom, co vlastně chcete vyřešit. Tj. jaké parametry ta funkce vlastně dostává, kdo jí je předává a jak má volaná funkce poznat, kolik a jakých parametrů dostane.
21.8.2006 13:20 ondra
Rozbalit Rozbalit vše Re: velkost va_list
Tak si to dej do nějakého seznamu. Pokud je to v C++, tak např. do listu, v C si to musíš naimplementovat sám nebo použít nějaký kontejner, co už používáš jinde v programu.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.