могу.
А должен?
Не знаю, я пока до этой библиотеки не добрался. Поэтому и вопрос. remove есть, а создания не нашел)
touch не создание... И в другой части библиотеки всё есть. Открыл файл - он есть, он создался.
touch это просто программа под линукс. Можешь воспроизвести в коде ее поведение, если надо.
ну ок, обновление метки, но если файла нет - создание)
нет, в std::filesystem нет touch однако, можно просто открыть файлик на запись и тут же его закрыть, тот же эффект (судя по исходникам touch как минимум)
могу, но вопрос был по filesystem) Любопытно стало)
Логика у меня была такая, что удаление файла есть, а его создания я не нашел) Вопрос и возник
Потому что создание файла УЖЕ ДАВНО ДАВНО ТАМ БЫЛО
ок, спасибо за ответы)
Кстати. Почему в плюсах так геморойно получать ошибку при создании/открытии файла? Гугл говорит о следующем способе: std::ifstream f; //prepare f to throw if failbit gets set std::ios_base::iostate exceptionMask = f.exceptions() | std::ios::failbit; f.exceptions(exceptionMask); try { f.open(fileName); } catch (std::ios_base::failure& e) { std::cerr << e.what() << '\n'; } Но это же жесть, выставлять какой-то флаг, оборачивать исключение. Ошибка открытия файла это же рядовая ситуация.
Вынеси в функцию
считается, (так посчитали создатели стандартной библиотеки ) что отсутствие файла при открытии - это НЕ исключительная ситуация.
Спрашиваю про получение текста ошибки
Просто открываешь и потом проверяешь is_open
А откуда взяться тексту без исключения?
Ну как, библиотека же должна мне сказать что именно пошло не так. А как она реализует - ее дело, зависящее от операционки в которой находимся
Подожди, кто сказал что должна да ещё и текстом
Я так понимаю тут ноги растут из того что файл часто в конструкторе создается, а у конструктора есть проблемы с исключениями
Обсуждают сегодня