Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Проблемы с ofstream


Автор: nikakoi 18.9.2006, 09:40
Подскажите плз, почему этот код не компилируется??smile
Пишет что нет конструктора у ofstream.. 
Кроме <fstream.h> какие нить еще инклуды нужны???

Код

static void OutLog(const CString& str)
{
  static ofstream logfile("С:\\download_log.log");
  CTime time = CTime::GetCurrentTime();
  CString string;
  string.Format("%ld\t", time.GetTime());
  string += str;
  logfile << string << endl;
}


Автор: Romikgy 18.9.2006, 09:45
Цитата(nikakoi @  18.9.2006,  08:40 Найти цитируемый пост)
 static ofstream logfile("С:\\download_log.log");

а зачем статик?

Добавлено @ 09:46 
Цитата(nikakoi @  18.9.2006,  08:40 Найти цитируемый пост)
Пишет что нет конструктора у ofstream.. 

ошибку приведи

Автор: nikakoi 18.9.2006, 09:48
а статик плохо что ли?? ну можно и не статик...


error C2514: 'std::basic_ofstream<char,struct std::char_traits<char> >' : class has no constructors

Автор: Romikgy 18.9.2006, 09:57
Цитата(nikakoi @  18.9.2006,  08:48 Найти цитируемый пост)
а статик плохо что ли?? ну можно и не статик...

не плохо , но зачем?

Автор: Damarus 18.9.2006, 10:56
Цитата(nikakoi @  18.9.2006,  10:40 Найти цитируемый пост)
Подскажите плз, почему этот код не компилируется??Пишет что нет конструктора у ofstream.. Кроме <fstream.h> какие нить еще инклуды нужны???

Похоже, что у тебя не подключен <fstream>.

Автор: nikakoi 18.9.2006, 11:16
Угу... а еще using namespace std зря написал.=)
Всем спасибо

Автор: Syberex 18.9.2006, 11:45
мне больше по душе fstream

Автор: Levenson 18.9.2006, 12:59
Что-то не то. 

Код

logfile << string << endl;


Во первых чтоб использовать потоки надо прописать <iostream.h>
Затем нафиг тебе static? пиши без него!
не зря ты написал using namespace std; Эт обезательно если хочеш юзать класс fstream,
можеш написать так , но ток тебе придется так все вызывать из std.
Код

 using std::ofstream log("yuiyuiyuiy");

Автор: vinter 18.9.2006, 13:26
Цитата

Во первых чтоб использовать потоки надо прописать <iostream.h>

а это каким боком к файлам относится??
Цитата

Затем нафиг тебе static? пиши без него!

а почему бы и нет??
Цитата

Что-то не то. 

Что не то??

Автор: Levenson 18.9.2006, 13:31
Цитата(vinter @  18.9.2006,  13:26 Найти цитируемый пост)
а это каким боком к файлам относится??


он потоками пишет в фаил.


Цитата(vinter @  18.9.2006,  13:26 Найти цитируемый пост)

Что не то?? 


 smile 

Автор: Syberex 18.9.2006, 13:32
всё верно <iostream.h> нужен

Автор: vinter 18.9.2006, 13:51
Цитата

он потоками пишет в фаил.

Цитата

всё верно <iostream.h> нужен

Код

#include <fstream>

достаточно

Автор: Damarus 18.9.2006, 20:04
Цитата(Levenson @  18.9.2006,  13:59 Найти цитируемый пост)
Во первых чтоб использовать потоки надо прописать <iostream.h>

Что бы использовать файловые потоки, достаточно <fstream> smile 

Цитата(Levenson @  18.9.2006,  13:59 Найти цитируемый пост)
using std::ofstream log("yuiyuiyuiy");

А using здесь зачем smile  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)