Вывод в файл и на консоль одновременно - C (СИ)
Формулировка задачи:
Привет Всем!
Подскажите как можно, и можно ли вообще, организовать вывод одновременно в файл и на консоль одной и тойже строки?
Хочу вызывать одну fprintf() типа как ниже:
второй вариант (Но что-то он мне не нравится )
Прошу помоши, а то что-то не соображаю сегодня
int main() { FILE *fout = fopen ( "outTest.txt", "a+" ); FILE * MyStream; // MyStream = fout = stdout; тут получим MyStream = stdout :( А Как по другому fprintf ( MyStream, " bla bla bla "); // в результате строка должна писаться и в "outTest.txt" и на консоль }
void DoubleOut ( FILE * file, const char * str ) { fprintf ( stdout, "%s", str ); fprintf ( file, "%s", str ); } int main() { FILE *fout = fopen ( "outTest.txt", "a+" ); DoubleOut ( fout, " bla bla bla " ); }
Решение задачи: «Вывод в файл и на консоль одновременно»
textual
Листинг программы
#include <iostream> #include <fstream> int main() { std::fstream ofs("output.txt", std::ios::in | std::ios::out); //Вывод в файл for(size_t i=0; i<5; ++i) ofs << i << std::endl; //Установка позиции чтения на начало файла ofs.seekp(std::ios::beg); //Вывод содержимого всего файла в консоль std::cout << ofs.rdbuf(); system("pause"); return EXIT_SUCCESS; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и выводом в консоль
- Создание объекта std::fstream для открытия файла
output.txt
в режиме чтения и записи - Цикл for для записи 5-ти чисел в файл
output.txt
- Установка позиции чтения на начало файла
- Чтение содержимого файла
output.txt
и вывод его в консоль - Блокировка программы до нажатия клавиши
- Возврат успешного выполнения программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д