Функция fprintf
Функция fprintf выполняет форматированный вывод данных
в файловый поток. В первый параметр мы передаем указатель
на файловый поток, во второй - строку форматирования,
а в последующие параметры - значения, которые нужно вывести
согласно спецификаторам формата. Функция возвращает
количество успешно записанных символов или отрицательное
значение в случае ошибки.
Синтаксис
int fprintf(FILE *stream, const char *format, ...);
Пример
Давайте запишем в файл test.txt строку и число
с помощью функции fprintf:
#include <cstdio>
int main()
{
FILE *file = fopen("test.txt", "w");
if (file != nullptr) {
fprintf(file, "Hello, %s! Number: %d\n", "world", 42);
fclose(file);
}
return 0;
}
Содержимое файла test.txt после выполнения кода:
"Hello, world! Number: 42"
Пример
Давайте запишем в файл несколько значений разных типов с использованием различных спецификаторов формата:
#include <cstdio>
int main()
{
FILE *file = fopen("data.txt", "w");
if (file != nullptr) {
const char *str = "abcde";
char ch = 'x';
double num = 3.14;
fprintf(file, "String: %s\n", str);
fprintf(file, "Char: %c\n", ch);
fprintf(file, "Double: %.2f\n", num);
fprintf(file, "Int: %d\n", 12345);
fclose(file);
}
return 0;
}
Содержимое файла data.txt после выполнения кода:
"String: abcde"
"Char: x"
"Double: 3.14"
"Int: 12345"
Пример
Давайте выведем данные с помощью fprintf не в файл,
а в стандартный поток вывода stdout:
#include <cstdio>
int main()
{
fprintf(stdout, "Value: %d\n", 12345);
fprintf(stdout, "String: %s\n", "abcde");
return 0;
}
Результат выполнения кода:
"Value: 12345"
"String: abcde"