Имеется текстовый файл, в который записываются значения из массива типа int. Запись происходит таким образом:
string filename;
cout << "Введите путь к файлу: ";
cin >> filename;
ofstream infile(filename);
if (!infile.is_open()) // если файл небыл открыт
{
cout << "Файл не может быть открыт или создан\n";
}
else
{
for (int i = 0; i < n; i++)
{
infile << array[i] << ' ';
{
infile << endl;
}
}
cout << "Записано." << endl;
infile.close();
}
Необходимо выполнить проверку на то, есть ли в файле уже записи, и если есть выдать сообщение с вопросом о перезаписи, используя ofstream
все данные из него удаляются, либо файл создается чистым (так скажем с нуля). Как решить данную проблему не знаю, подтолкните к решению.
Если файл существует (его можно открыть) - спросить о перезаписи. Если ответ - перезаписывать, открыть файл в режиме по умолчанию (с перезаписью с нулевого размера). Если нет - открыть в режиме добавления (ios::ate
).
Можно сразу открыть в режиме дозаписи, и если надо перезаписать, становиться в начало и писать. Но здесь есть опасный момент - может, придется записать меньше, чем в файле уже есть, и получится ерунда - вначале новые данные, а дальше - нестёртые старые.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите пожалуйста, какую технологию выбрать для работы с *STL файлами, и если возможно, небольшое интро в нее
Так же интересно, возможно ли как в джаве создать анонимный наследованный класс и сразу определить в нем методы Вместо этого:
Как сделать так, чтобы mmenu выезжало сверху над контентом, а контент оставался бы на месте, то есть не сдвигался?