Функции ввода-вывода объявляются в заголовочном файле <stdio.h>
По умолчанию ввод-вывод выполняется из консоли, но можно перенаправить на файл:
``program.exe <input.txt >output.txt``
Если при перенаправлении указать ``>>``, то выводимая программой информация будет добавлена в файл. Ввод и вывод в кодировке unicode возможен только при перенаправлении в файл.
Для вывода используются следующие функции:
для char|для wchar_t|Назначение
--|--|--
``putchar(c)``|``putwchar(wc)``|Вывод символа
``puts(s)``| |Вывод строки с переходом на новую строку
``printf(fmt,...)``|``wprintf(wfmt,...)``|Форматированный вывод
Примеры:
```run-c
#include <stdio.h>
int main()
{ putchar('A');
putchar('B');
}
```
Для функции ``printf`` первым аргументом нужно указать строку, содержащую кроме выводимых символов спецификаторы формата - по одному для каждого следующего аргумента.
В спецификаторе формата после % можно указать (все элементы опциональны):
* символ ``-`` (минус) для выравнивания влево (по умолчанию вправо);
* символ ``+`` или пробел для вывода ``+`` или пробела для положительных чисел (по умолчанию ничего);
* символ ``#`` для вывода префикса 0 перед восьмеричными или 0x перед шестнадцатеричными числами (по умолчанию ничего);
* символ ``0`` для заполнения 0 (по умолчанию пробелами);
* *минимальную* ширину поля для вывода (по умолчанию 0);
* после ``.`` точность для вещественных чисел (по умолчанию 6) и выводимых символов для строк (по умолчанию все).
Вместо конкретного числа для ширины и точности можно написать символ ``*``, тогда значение нужно указать в списке аргументов перед выводимым значением. Если формат x написать как X, то шестнадцатеричные цифры будут выводиться прописными буквами. Аналогично для E и G символ экспоненты будет выводиться как E.
Для вывода символа % в формате нужно указать %%.
При компиляции нужно обращать внимание на предупреждения о несоответствии спецификатора формата и типа аргумента или их количества.