2015-11-15 1 views
-4

В моем коде ниже появляются ошибки и программа не запускается, я должен создать конструктор, который должен открыть файл с заданным именем файла. Если имя файла не существует, оно печатает сообщение об ошибке и завершает работу программы.constructor открывает файл с заданным именем файла C++

Ниже приведен код, который я сделал до сих пор в C++:

#include "ReadWords.h" 
#include <iostream> 
#include <cstdlib> 

using namespace std; 

ReadWords::ReadWords(const char filename[]) 
{ 
    wordfile.open(filename); 
    if (!wordfile) 
    { 
     cout << "cannot make " << filename << endl; 
     exit(1); 
    } 
} 

void ReadWords::close() 
{ 
    wordfile.close(); 
} 
+1

Можете ли вы быть более конкретным, когда говорите «ошибки происходят»? Какие ошибки? Что они говорят? Являются ли они компиляцией времени или ошибок времени выполнения? –

+0

Можете ли вы разместить весь код? это выглядит только как часть его. – EkcenierK

+2

Каков тип 'wordfile'? – Zereges

ответ

0

Почему бы вам не попробовать в том числе fstream в верхней части файла и посмотреть, если это работает

0

Я полагаю, wordfile имеет тип std::fstream. Если ваш ReadWords.h#include s <fstream>, он должен работать (compiles and works as expected).

Кстати, это плохая практика использования using namespace std;.

Кроме того, поскольку вы используете C++, взгляните на std::string. Это безопаснее, чем использование простой char* или char[].

Смежные вопросы