Diskuze: formátovaný výstup z funkce
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Způsob který chceš je zbytečně složitý a pomalý, neboť to vyžaduje mnoho zbytečných kroků. Funkce by navíc neměla vracet char ale ukazatel na char. Ty ale potřebuješ vracet řetězec nikoli znak. Mimochodem možnost zapisovat do souboru nemá žádný vztah s návratovým typem funkce a není důvod jej měnit.
Zápis do souboru lze udělat přímo. Lepší způsob je následující:
K seznamu parametrů přidej formální parametr ukazatel na typ (FILE *). Pro formátovaný zápis použij funkci fprintf(). Ta se chová úplně stejně jako její konzolová funkce printf() s tím rozdílem, že první parametr je právě ukazatel na typ FILE. Můžeš tak provést zápis na obrazovku pomocí printf() a zároveň zápis do souboru pomocí fprintf().
void vypis(FILE *fp){
//...
printf(...);
fprintf(fp, ...);
return;
}
Díky mě to právě přišlo strašně složitý a zbytečný, ale tohle mě nenapadlo. No spíš jsem zapoměl na fprintf. Díky moc.
Zobrazeno 3 zpráv z 3.