Форум программистов, компьютерный форум CyberForum.ru

Перенаправление потока вывода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамический массив http://www.cyberforum.ru/cpp-beginners/thread410993.html
Разработать класс содержащий: - компоненты данные - методы: а) конструктор по умолчанию; б) конструктор с параметрами; в) конструктор копирования; г) деструктор; д) методы класса для работы с данными. Данные класса должны иметь атрибут private. Задача 1. Создать 2 объекта разработанного класса. Класс – динамический вектор (одномерный массив). Найти в каждом объекте MAX значение элемента...
C++ Модуль в массиве Добрый вечер. Подскажите мне пожалуйста вот с этой задачей: В одномерном массиве, состоящем из n вещественных элементов, вычислить: • номер минимального элемента; • сумму элементов массива, расположенных между первым и вторым отрицательными элементами. • Преобразовать таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом – все остальные. ... http://www.cyberforum.ru/cpp-beginners/thread410983.html
C++ Номера столбцов в которых находиться более двух простых чисел
Вводиться матрица. И нужно вывести на экран номера столбцов в которых находиться более двух простых чисел . Сижу в ступоре,как это дело оформить? Нужен только кусок,спасибо
Ищу оригинальное решение зачачи о графах (хоть какаое-нибудь ищу) C++
Задача о максимальном независимом множестве. Матрица смежности заполнена из файла т.о.: #include<iostream> #include<conio.h> #include<fstream.h> using namespace std; int main() { char s1; char s2;
C++ Метод надкласса перекрыт http://www.cyberforum.ru/cpp-beginners/thread410976.html
Как обратиться к методу надкласса из метода подкласса, если метод надкласса перекрыт?
C++ Описать класс CFMATRIX1 для работы с матрицей вещественных чисел Описать класс CFMATRIX1 для работы с матрицей вещественных чисел. Класс должен реализовывать следующие операции над матрицами: сложение, вычитание, умножение, деление (+, -, *, /) (умножение и деление, как на другую матрицу, так и на число). подробнее

Показать сообщение отдельно
swed
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 12

Перенаправление потока вывода - C++

18.12.2011, 21:22. Просмотров 2572. Ответов 1
Метки (Все метки)

Здравствуйте! Задача такова - нужно перенаправить поток вывода с cout на файловый в одном из конструкторов класса. Итог - необработанное исключение 0xC0000005: Нарушение прав доступа при чтении "0xccccccd0". Вот сами исходники:
1. logger.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef LOGGER_H
#define LOGGER_H
 
#include <iostream>
#include <fstream>
 
class Logger
{
public:
    Logger::Logger();
    Logger::Logger(char* format, char* dateTimeFormat, char* filename);
 
    void debug(char* str);
 
private:
    std::ostream& os;
    char* curFormat;
    char* curDTFormat;
};
 
#endif
2. logger.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "logger.h"
 
#include <iostream>
#include <fstream>
 
Logger::Logger():os(std::cout)
{
    curFormat = "";
    curDTFormat = "";
}
 
Logger::Logger(char* format, char* dateTimeFormat, char* filename):os(std::ofstream(filename)) // вот этот конструктор перенаправляет вывод
{
    curFormat = format;
    curDTFormat = dateTimeFormat;
}
 
void Logger::debug(char* str)
{
    os << str << std::endl;
}
3. main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
#include "logger.h"
#include <iostream>
 
int main()
{
    Logger* l = new Logger("", "", "log2.txt");
    l->debug("START...");
 
    system("PAUSE");
    return 0;
}
В чем может быть проблема? Заранее благодарен!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru