Функција фпринтф () у језику Ц ++ користи се за писање форматираног низа у ток датотека.
прототип фпринтф ()
инт фпринтф (ФИЛЕ * ток, цонст цхар * формат,…);
fprintf()
Функција пише низ показао да је формат на ток потока. Формат низа може садржавати спецификаторе формата који почињу са% који се замењују вредностима променљивих које се fprintf()
функцији прослеђују као додатни аргументи.
Дефинисано је у заглављу датотеке.
фпринтф () Параметри
- ток: показивач на излазни ток датотеке у који је записан садржај.
- формат: показивач на низ који се завршава нулом и записује се у ток датотеке. Састоји се од знакова, заједно са опционим спецификаторима формата који почињу са%.
Спецификатори формата замењују се вредностима одговарајућих променљивих које следе низ формата.
Спецификатор формата има следеће делове:
- Водећи знак%
- Заставе: Опционално једна или више заставица које мењају понашање конверзије.
- -: Лево оправдајте резултат у пољу. Подразумевано је исправно оправдано.
- +: Знак резултата је везан за почетак вредности, чак и за позитивне резултате.
- Размак: Ако нема знака, размак се додаје на почетак резултата.
- #: Изводи се алтернативни облик конверзије.
- 0: Користи се за цео број и број са покретном тачком. Водеће нуле се користе за попуњавање бројева уместо размака.
- Ширина: Опционална * или целобројна вредност која се користи за одређивање поља минималне ширине.
- Прецизност: Опционо поље које се састоји од а. након чега следи * или цео број или ништа за прецизирање.
- Дужина: Опционални модификатор дужине који одређује величину аргумента.
- Спецификатор: Спецификатор формата конверзије. Доступни спецификатори формата су следећи:
Спецификатор формата Опис % Принтс% ц Писе један лик с Записује низ знакова д или и Претвара потписани цели број у децимални приказ о Претвара непотписани цели број у осмински приказ Кс или к Претвара непотписани цели број у хексадецимални приказ у Претвара непотписани цијели број у децимални приказ Ф или ф Претвара број са покретном зарезом у децимални приказ Е или е Претвара број с помичном зарезом у запис децималног експонента А или а Претвара број са покретном зарезом у хексадецимални експонент Г или г. Претвара број с помичном зарезом у децимални или децимални запис експонента н Враћа број знакова до сада написаних овим позивом функцији. Резултат се записује у вредност на коју указује аргумент стр Пише секвенцу карактера дефинисану имплементацијом која дефинише показивач. Дакле, општи формат спецификатора формата је:
%(flags)(width)(.precision)(length)specifier
- …: Остали додатни аргументи који одређују податке за штампање. Јављају се у низу према спецификатору формата.
фпринтф () Повратна вредност
Ако успе, fprintf()
функција враћа број написаних знакова. У случају квара враћа негативну вредност.
Пример: Како функционише функција фпринтф ()
#include int main() ( FILE *fp; fp = fopen("example.txt","w"); char lang(5)(20) = ("C","C++","Java","Python","PHP"); fprintf(fp,"Top 5 programming language"); for (int i=0; i<5; i++) fprintf(fp, "%d. %s", i+1, lang(i)); fclose(fp); return 0; )
Када покренете програм, створиће се датотека „екампле.ткт“ (ако већ не постоји) и садржи следећи низ:
Топ 5 програмских језика 1. Ц 2. Ц ++ 3. Јава 4. Питхон 5. ПХП