Вывод в файл и на консоль одновременно - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Привет Всем! Подскажите как можно, и можно ли вообще, организовать вывод одновременно в файл и на консоль одной и тойже строки? Хочу вызывать одну fprintf() типа как ниже:
Листинг программы
  1. int main()
  2. {
  3. FILE *fout = fopen ( "outTest.txt", "a+" );
  4. FILE * MyStream;
  5. // MyStream = fout = stdout; тут получим MyStream = stdout :( А Как по другому
  6. fprintf ( MyStream, " bla bla bla "); // в результате строка должна писаться и в "outTest.txt" и на консоль
  7. }
второй вариант (Но что-то он мне не нравится )
Листинг программы
  1. void DoubleOut ( FILE * file, const char * str )
  2. {
  3. fprintf ( stdout, "%s", str );
  4. fprintf ( file, "%s", str );
  5. }
  6. int main()
  7. {
  8. FILE *fout = fopen ( "outTest.txt", "a+" );
  9. DoubleOut ( fout, " bla bla bla " );
  10. }
Прошу помоши, а то что-то не соображаю сегодня

Решение задачи: «Вывод в файл и на консоль одновременно»

textual
Листинг программы
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. int main()
  5. {
  6.     std::fstream ofs("output.txt", std::ios::in | std::ios::out);
  7.     //Вывод в файл
  8.     for(size_t i=0; i<5; ++i)
  9.         ofs << i << std::endl;
  10.     //Установка позиции чтения на начало файла
  11.     ofs.seekp(std::ios::beg);
  12.     //Вывод содержимого всего файла в консоль
  13.     std::cout << ofs.rdbuf();
  14.     system("pause");
  15.     return EXIT_SUCCESS;
  16. }

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с файлами и выводом в консоль
  2. Создание объекта std::fstream для открытия файла output.txt в режиме чтения и записи
  3. Цикл for для записи 5-ти чисел в файл output.txt
  4. Установка позиции чтения на начало файла
  5. Чтение содержимого файла output.txt и вывод его в консоль
  6. Блокировка программы до нажатия клавиши
  7. Возврат успешного выполнения программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы