Создание файла txt и запись в него C++?

нужно создать файл (если такого не существует ) и записать а него какие-то данные.
с записью проблем нету ,но если файла нету ,то и записи не будет . Пытался вставить
fstream file("output.txt");
    file.open("output.txt"); file.close();

прочитал ,что метод open создает файл ,если такого нету , но по факту ничего не создается . Видел ,что обьявляют классом ifstream , но мне нужен будет этот файл потом для записи ,а переопределить нельзя ,поэтому надо использовать fstream.
  • Вопрос задан
  • 6076 просмотров
Решения вопроса 1
@res2001
Developer, ex-admin
Смотри сначала сюда: https://en.cppreference.com/w/cpp/io/basic_fstream
Потом сюда: https://en.cppreference.com/w/cpp/io/basic_filebuf/open
fstream открывает файл по умолчанию (как у тебя) в режиме in|out, а это значит, что если файла не существует, то возникает ошибка (смотри таблицу по второй ссылке). Логика такая, что если ты открываешь файл для чтения (тут не важно, что он открывается еще и для записи) без дополнительных флагов, то файл должен существовать.

В пару с ifstream, который открывает файл для чтения, существует и ofstream - он открывает файл для записи. При использовании ofstream не существующий файл будет создан (смотри таблицу по второй ссылке).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
RiseOfDeath
@RiseOfDeath
Диванный эксперт.
https://stackoverflow.com/questions/15667530/fstre...

Про флаги можно подробнее почитать, внезапно, в документации https://www.cplusplus.com/reference/ios/ios_base/o...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы