Функция fprintf
Функция fprintf выполняет форматированный вывод данных
в указанный поток. В первый параметр мы передаем указатель
на поток типа FILE*, куда следует выводить данные,
во второй - строку формата, а далее - переменное число
аргументов, значения которых подставляются в формат.
Функция возвращает количество успешно записанных символов
или отрицательное значение в случае ошибки.
Синтаксис
int fprintf(FILE* stream, const char* format, ...)
Пример
Давайте выведем строку и число в стандартный поток
вывода stdout с помощью функции fprintf:
#include <cstdio>
int main()
{
int num = 42;
fprintf(stdout, "value: %d\n", num);
return 0;
}
Результат выполнения кода:
"value: 42"
Пример
Давайте запишем форматированные данные в файл
test.txt:
#include <cstdio>
int main()
{
FILE* file = fopen("test.txt", "w");
if (file != nullptr) {
fprintf(file, "%s %d\n", "abcde", 123);
fclose(file);
}
return 0;
}
В результате в файл test.txt будет записана строка:
"abcde 123"
Пример
Давайте выведем несколько значений разных типов
с помощью функции fprintf и получим количество
записанных символов:
#include <cstdio>
int main()
{
int count = fprintf(stdout, "%d %s %c\n", 12, "abcde", 't');
fprintf(stdout, "chars: %d\n", count);
return 0;
}
Результат выполнения кода:
"12 abcde t"
"chars: 10"