Я пытаюсь записать содержимое datastructure в файл, но по какой-то причине file.is_open() возвращает false. Я что-то упускаю? Печать должна работать нормально, поскольку я тестировал ее с помощью cout.Файл не открыт для записи
std::ofstream file;
file.open(filename, std::ofstream::out | std::ofstream::trunc);
for(int i = 0; i < 1000; ++i) {
Candy* tmp = index[i];
for(; tmp; tmp = tmp->next){
if(file.is_open()){
file << tmp->ID << ";" << tmp->amount << ";" << tmp->location <<
}
else{
std::cout << "error" << std::endl;
}
}
file.close();
}
Вам нужно всего лишь проверить, что файл открыт один раз. Не каждый раз. –
Работает ли вообще *, а затем останавливается? Правильно отступы, кажется, что вы закрываете файл в конце вашего внешнего цикла 'for', поэтому, когда' i == 1' и т. Д., Файл обязательно будет закрыт. –