Функция fprintf () в C ++ используется для записи форматированной строки в файловый поток.
прототип fprintf ()
int fprintf (ФАЙЛ * поток, const char * формат,…);
fprintf()
Функция записывает строку , на которую указывает формат для потока потока. Формат строки может содержать спецификаторы формата, начинающиеся с%, которые заменяются значениями переменных, которые передаются в fprintf()
функцию в качестве дополнительных аргументов.
Это определено в заголовочном файле.
Параметры fprintf ()
- stream: указатель на поток выходного файла, в который записывается содержимое.
- формат: указатель на строку с завершающим нулем, которая записывается в файловый поток. Он состоит из символов и необязательных спецификаторов формата, начинающихся с%.
Спецификаторы формата заменяются значениями соответствующих переменных, следующих за строкой формата.
Спецификатор формата состоит из следующих частей:
- Ведущий знак%
- Флаги: необязательный один или несколько флагов, которые изменяют поведение преобразования.
- -: Выровнять результат по левому краю внутри поля. По умолчанию выравнивается по правому краю.
- +: Знак результата прикрепляется к началу значения даже для положительных результатов.
- Пробел: при отсутствии знака ставится пробел в начале результата.
- #: Выполняется альтернативная форма преобразования.
- 0: используется для целых чисел и чисел с плавающей запятой. Для дополнения чисел вместо пробела используются ведущие нули.
- Ширина: необязательное * или целочисленное значение, используемое для указания поля минимальной ширины.
- Точность: необязательное поле, состоящее из. за которым следует *, целое число или ничего, чтобы указать точность.
- Длина: необязательный модификатор длины, указывающий размер аргумента.
- Спецификатор: спецификатор формата преобразования. Доступные спецификаторы формата следующие:
Описатель формата Описание % Печать% c Записывает одиночный символ s Записывает символьную строку д или я Преобразует целое число со знаком в десятичное представление о Преобразует целое число без знака в восьмеричное представление X или x Преобразует целое число без знака в шестнадцатеричное представление. ты Преобразует целое число без знака в десятичное представление F или F Преобразует число с плавающей запятой в десятичное представление E или e Преобразует число с плавающей запятой в представление десятичной степени А или а Преобразует число с плавающей запятой в шестнадцатеричную экспоненту G или g Преобразует число с плавающей запятой в десятичное или десятичное представление экспоненты п Возвращает количество символов, записанных на данный момент этим вызовом функции. Результат записывается в значение, на которое указывает аргумент п Записывает последовательность символов, определяемую реализацией, определяющую указатель. Итак, общий формат спецификатора формата:
%(flags)(width)(.precision)(length)specifier
- …: Другие дополнительные аргументы, определяющие данные для печати. Они появляются в последовательности согласно спецификатору формата.
fprintf () Возвращаемое значение
В случае успеха fprintf()
функция возвращает количество записанных символов. В случае неудачи возвращает отрицательное значение.
Пример: как работает функция fprintf ()
#include int main() ( FILE *fp; fp = fopen("example.txt","w"); char lang(5)(20) = ("C","C++","Java","Python","PHP"); fprintf(fp,"Top 5 programming language"); for (int i=0; i<5; i++) fprintf(fp, "%d. %s", i+1, lang(i)); fclose(fp); return 0; )
При запуске программы будет создан файл example.txt (если он еще не существует), содержащий следующую строку:
Топ-5 языков программирования 1. C 2. C ++ 3. Java 4. Python 5. PHP