Если я использую printf("asd"), то весь текст в кавычках будет выведен на экран и записан в лог файл. Вот такая команда: './a.out > file.log'.
Здесь несколько несуразностей: 1) printf в
./a.out > file.log
не выведет ничего на экран, всё будет перенаправлено в файл. но 2) сам printf об этом ничего не знает. Он выводит данные в поток стандартного вывода, куда они перенаправляются потом -- не его дело. 3) оператор
>
перенаправляющий вывод -- это инструкция командной оболочке как запускать программу, к самой программе отношения не имеет.
Есть ли какая другая команда вывода, которая будет текст выводить только в терминал, без записи в файл?
Есть!
./a.out
, без каких-либо изменений в коде.