В MacOS с gcc4.2 должен ли следующий код создать новый файл, если он не существует?C++ std :: fstream поведение на MacOS
#include <fstream>
void test() {
std::fstream file ("myfile.txt", std::ios::in | std::ios::out);
}
По моей логике он должен либо открыть существующий файл для чтения/записи, либо создать новый пустой файл для чтения/записи. Но поведение, которое я получаю, заключается в том, что он не будет создавать новый файл, если «myfile.txt» не существует.
Как получить то же поведение, что и fopen («myfile.txt», «r +»); ?
Кроме того,
#include <fstream>
void test() {
std::ofstream file ("myfile.txt", std::ios::in | std::ios::out);
}
Будет всегда укоротить существующий файл ...
Это стандартное поведение?
Справа я ошибся. Я думал о POSIX вместо «r +». Пристрастия к глупому вопросу :). – Akusete