Функцията осъществява форматиран изход към файл. Формата се задава посредством форматиращия низ format.
Указател на файла върнат от fopen.
Форматиращия низ е съставен от нула или повече нормални символи и директиви за преобразуване. Всяка директива за преобразуване започва с знака % и се заменя с един параметър.
Типове директиви за форматиране
| Директива | Описание |
| %% | Отпечатва процент |
| %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 | Свали кода във файл |
#include <stdio.h> int main () { int n; char name [100]; FILE * fp; fp = fopen ("test.txt","w"); for (n=0; n<3; n++) { printf("Моля въведете име:"); scanf("%s", name); fprintf (fp, "Име %d [%-10.10s]", n, name); } fclose (fp); return 0; }
Функцията може да приеме като параметър стандартния изход stdout и стандартния изход за грешки stderr.
printf - отпечатва форматиран изход
sprintf - пише форматиран изход в буфер
vprintf - печата форматиран изход от списък с аргументи