Ahoj,
chtěl bych se zeptat, jak použít knihovnu stdarg.h k tomu, aby mi dohromady tiskla na obrazovku a zároveň do souboru?
Jak díky ní spojíme printf a fprintf?
Díky za odpovědi
#1 Petey
pravdepodobne budes chtit vprintf a vfprintf - prebiraj totiz ten formatovaci retezed a va_list, kterej dostanes ve funkci kde pouzijes (string *neco, ...) - tj. udelas vlastni verzi myfprintf(FILE * out, char * format, ...) a pak to vypises do obou
stdarg.h obsahuje macra na pracu s funkciami ktore maju premennlivy pocet parametov.
printf a fprintf su funkcie ktore maju premenlivy pocet parametrov a zrejme vyuzivaju macra v stdarg.h.
v podstate si musis vytvorit novu funkciu, napr:
xprintf(FILE *f, const char * str, ...);
tato funkcia bude volat aj printf aj fprintf s rovnakymi parametrami (okrem prveho, ten je u printf standartne stdout).
Cize musis zyskat vsetky "premenlive" parametre z xprintf a zavolat s nimi fprntf a printf (mozno ich bude treba aj pretypovat).
Alebo mozes pozit vfprintf
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku