Ц ++ вфпринтф () - Ц ++ стандардна библиотека

Функција вфпринтф () у језику Ц ++ користи се за писање форматираног низа у ток датотека.

прототип вфпринтф ()

 инт вфпринтф (ФИЛЕ * ток, цонст цхар * формат, ва_лист влист);

vfprintf()Функција пише низ показао да је формат на датотека потока потока. Формат низа може садржати спецификаторе формата који почињу са% који се замењују вредностима променљивих које се прослеђују као листа влист.

Дефинисано је у заглављу датотеке.

вфпринтф () Параметри

  • стреам: излазни ток датотеке за писање резултата.
  • формат: показивач на низ који се завршава нулом и записује се у ток датотеке. Састоји се од знакова, заједно са опционим спецификаторима формата који почињу са%.

    Спецификатори формата замењују се вредностима одговарајућих променљивих које следе низ формата.

    Спецификатор формата има следеће делове:

    • Водећи знак%
    • Заставе: Опционално једна или више заставица које мењају понашање конверзије.
      • -: Лево оправдајте резултат у пољу. Подразумевано је исправно оправдано.
      • +: Знак резултата је везан за почетак вредности, чак и за позитивне резултате.
      • Размак: Ако нема знака, размак се додаје на почетак резултата.
      • #: Изводи се алтернативни облик конверзије.
      • 0: Користи се за цео број и број са покретном тачком. Водеће нуле се користе за попуњавање бројева уместо размака.
    • Ширина: Опционална * или целобројна вредност која се користи за одређивање поља минималне ширине.
    • Прецизност: Опционо поље које се састоји од а. након чега следи * или цео број или ништа за прецизирање.
    • Дужина: Опционални модификатор дужине који одређује величину аргумента.
    • Спецификатор: Спецификатор формата конверзије. Доступни спецификатори формата су следећи:
      Спецификатор формата Опис
      % Принтс%
      ц Писе један лик
      с Записује низ знакова
      д или и Претвара потписани цели број у децимални приказ
      о Претвара непотписани цели број у осмински приказ
      Кс или к Претвара непотписани цели број у хексадецимални приказ
      у Претвара непотписани цијели број у децимални приказ
      Ф или ф Претвара број са покретном зарезом у децимални приказ
      Е или е Претвара број с помичном зарезом у запис децималног експонента
      А или а Претвара број са покретном зарезом у хексадецимални експонент
      Г или г. Претвара број с помичном зарезом у децимални или децимални запис експонента
      н Враћа број знакова до сада написаних овим позивом функцији. Резултат се записује у вредност на коју указује аргумент
      стр Пише секвенцу карактера дефинисану имплементацијом која дефинише показивач.

      Дакле, општи формат спецификатора формата је: %(flags)(width)(.precision)(length)specifier

  • влист: Листа аргумената који садрже податке за писање.

вфпринтф () Повратна вредност

Ако успе, vfprintf()функција враћа број написаних знакова. У случају квара враћа негативну вредност.

Пример: Како функционише вфпринтф () функција

 #include #include void write(FILE* fp, const char *fmt,… ) ( va_list args; va_start(args, fmt); vfprintf(fp, fmt, args); va_end(args); ) int main () ( FILE *fp = fopen("data.csv","w"); char name(5)(50) = ("John","Harry","Kim","Yuan","Laxmi"); int age(5) = (13,41,26,21,32); write(fp, "%s,%s", "name", "age"); for (int i=0; i<5; i++) write(fp, "%s,%d", name(i), age(i)); return 0; )

Када покренете програм, у датотеку дата.цсв биће записано следеће:

 име, старост Јохн, 13 Харри, 41 Ким, 26 Иуан, 21 Лакми, 32

Занимљиви Чланци...