Извежда низ, форматиран на базата на параметъра 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 | Свали кода във файл |
#include <stdio.h> int main() { int a = 76; double b = 3.14; char c[5] = "test"; int d = -46; printf("%%c = %c", a); //%c = L printf("%%d = %d", a); //%d = 76 printf("%%i = %i", a); //%i = 76 printf("%%e = %e", a); //%e = 8.588607e+105 printf("%%E = %E", a); //%E = 8.588607E+105 printf("%%f = %f", b); //%f = 3.140000 printf("%%g = %g", a); //%g = 8.58861e+105 printf("%%G = %G", a); //%G = 8.58861E+105 printf("%%o = %o", a); //%o = 114 printf("%%s = %s", c); //%s = test printf("%%u = %u", a); //%u = 76 printf("%%u = %u", d); //%u = 4294967250 printf("%%o = %o", a); //%o = 114 printf("%%x = %x", a); //%x = 4c printf("%%X = %X", a); //%X = 4C printf("%%p = %p", c); //%p = 0012FF3C return 0; }
| от: adviser at cpp-examples dot com | Свали кода във файл |
#include <stdio.h> int main() { char leters[11] = "0123456789"; printf("%.1s", leters); //0 printf("%.2s", leters); //01 printf("%.3s", leters); //012 printf("%.4s", leters); //0123 printf("%.5s", leters); //01234 printf("%.6s", leters); //012345 printf("%.7s", leters); //0123456 printf("%.8s", leters); //01234567 printf("%.9s", leters); //012345678 printf("%s", leters); //0123456789 }
| от: adviser at cpp-examples dot com | Свали кода във файл |
#include <stdio.h> int main() { float pi = 3.14159265; printf("%.2f", pi); //3.14 printf("%.4f", pi); //3.1415 printf("%.6f", pi); //3.141592 printf("%.*f", 8, pi); //3.14159265 задава че трябва да бъдат отпечатани 8 символа след запетаята int a = 5; printf("%05d", a); //00005 printf("% 5d", a); // 5 с четери интервала от пред return 0; }
| от: adviser at cpp-examples dot com | Свали кода във файл |
#include <stdio.h> int main() { printf("Това е пример!!!"); //Отпечатва низ return 0; }
| от: adviser at cpp-examples dot com | Свали кода във файл |
//Печатане на цветни текстове. Работи под Linux. #include <stdio.h> #define ANSI_NORMAL "\033[0m" #define ANSI_RED "\033[0;31;40m" #define ANSI_GREEN "\033[0;32;40m" #define ANSI_YELLOW "\033[0;33;40m" #define ANSI_BLUE "\033[0;34;40m" #define ANSI_MAGENTA "\033[0;35;40m" #define ANSI_CYAN "\033[0;36;40m" #define ANSI_WHITE "\033[0;37;40m" #define ANSI_BOLD_RED "\033[1;31;40m" #define ANSI_UNDERLINE_RED "\033[4;31;40m" #define ANSI_BLINK_RED "\033[5;31;40m" int main() { printf(ANSI_RED "TEST"); //Отпечатва текста в червено return 0; }
| от: adviser at cpp-examples dot com | Свали кода във файл |
#include <stdio.h> int main() { char bell=`\a`; printf("%c", bell); /* "%c" отпечатва символ */ return 0; }
| от: adviser at cpp-examples dot com | Свали кода във файл |
#include <stdio.h> int main() { float sale, tax; float tax_rate = 0.08; //комисионна sale = 22.54; //цена на продажбата tax = sale * tax_rate; printf("Таксата за продажбата е:"); printf("%f", tax); return 0; }
Символа * поставен след форматиращата точка (%.*s) се използва за динамично задаване на броя символи за отпечатване.
sprintf - пише форматиран изход в буфер
snprintf - пише форматиран изход в буфер
fprintf - форматиран изход във файл
vprintf - печата форматиран изход от списък с аргументи
vfprintf - печата форматиран изход от списък с аргументи
vsprintf - печата форматиран изход от списък с аргументи