Основное отличие файловых потоков от стандартных потоков ввода-вывода в C++ заключается в том, для чего они предназначены:
- Стандартные потоки — для передачи данных с клавиатуры на экран. 2 К ним относятся, например, stdin (стандартный поток ввода данных), stdout (стандартный поток вывода данных) и stderr (стандартный поток ошибок). 2
- Файловые потоки — для обмена информацией с файлами. 2 После того, как файловый поток открывает файл, любая операция ввода/вывода на этом потоке физически отображается в файле. 5
Таким образом, стандартные потоки ориентированы на работу с клавиатурой и экраном, а файловые — с файлами.