stdio.h

fprintf

Описание

int fprintf( FILE *fp, char *format, ... )

Функцията осъществява форматиран изход към файл. Формата се задава посредством форматиращия низ format.

Параметри

FILE *fp

Указател на файла върнат от fopen.

char *format

Форматиращия низ е съставен от нула или повече нормални символи и директиви за преобразуване. Всяка директива за преобразуване започва с знака % и се заменя с един параметър.

Типове директиви за форматиране

Директива Описание
%% Отпечатва процент
%c Отпечатва символ
%d Отпечатва int със знак
%i Отпечатва int със знак
%e Отпечатва се в научна нотация е
%E Отпечатва се в научна нотация Е
%f Отпечатва число с плаваща запетая
%g Отпечатай с по краткото %е или %f
%G Отпечатай с по краткото %E или %f
%o Отпечатва числото в осмично представяне
%s Отпечатва низ
%u Огпечатва unsigned int
%x Отпечатва число в 16-тичен формат с малки букви
%X Отпечатва число в 16-тичен формат с големи букви
%p Отпечатва указател
%n  

Всяка директива за форматиране в допълнение може да притежава четери вида флага. Флагове за подравняване и запълване, флагове за дължина, флагове за точност и флагове за модифициране.

Флагове за подравняване и запълване

Флаг Описание
- Ляво подравняване при зададена дилжина на запълване. По подразбиране подравняването е десно.
+ Задава показването венаги на знака за плюс или минус. По подразбиране се показва знака само за минус.
(интервал) Ако не е зададен знак за отпечатване, интервал се печата пред числото.
# Използва се с %x %X. Задава пред числото да бъде поставен знака 0x.
0 Запълването на определената дължина се осъществява с нули. По подразбиране е с интервали.

 Флагове за дължина

Флаг Описание
(дължина) Минимален брой символи за отпечатване. Ако дължината на стоиноста и по малка от зададената резултата се допълва с интевали. Стойноста не се отрязва ако дължината и не надхвърла зададената.
* Минималния брой символи се задава динамично чрез параметър в аргументите.

Флагове за точност

Флаг Описание
.дължина

За целочислени типове(%d ,%i, %u, %o, %x, %X) флага определя броя на символите кайто ще бъдат показани. За числа с плаваща запетая (%f, %E) определя броя символи които ще бъдат показани след запетаята. За низове задава максималния брой символи който ще бъдат отпечатани.

.*  Задава броя на символите динамично чрез параметър.

 Флагове за модифициране

Флаг Описание
h Визуализира short int параметри. Използва се с целочислиени типове(%d ,%i, %u, %o, %x, %X).
l Визуализира long int пораметри с целочислени типове(%d ,%i, %u, %o, %x, %X) и разширени низове с %s.
L Визуализира long double параметри. Използва се с типове за плаваща запетая (%f, %g, %G, %e, %E).

 

...

Множество от параметри. Броя на параметрите трябва да бъде равен на броя на зададените директиви в форматиращия низ.

Връщани стойности

Броя на отпечатаните във файла символи.

Примери

от: adviser at cpp-examples dot com   Свали кода във файл
  1. #include <stdio.h>
  2. int main ()
  3. {
  4.    int n;
  5.    char name [100];
  6.    FILE * fp;
  7.    fp = fopen ("test.txt","w");
  8.    for (n=0; n<3; n++)
  9.    {
  10.      printf("Моля въведете име:");
  11.      scanf("%s", name);
  12.      fprintf (fp, "Име %d [%-10.10s]", n, name);
  13.    }
  14.    fclose (fp);
  15.    return 0;
  16. }

Бележки

Функцията може да приеме като параметър стандартния изход stdout и стандартния изход за грешки stderr.

Виж също

printf - отпечатва форматиран изход
sprintf - пише форматиран изход в буфер
vprintf - печата форматиран изход от списък с аргументи