Ответ 1
Вы должны добавить fstream:: out, чтобы открыть метод следующим образом:
file.open("test.txt",fstream::out);
Дополнительная информация о флажках fstream, посмотрите эту ссылку: http://www.cplusplus.com/reference/fstream/fstream/open/
Я просто пытаюсь создать текстовый файл, если он не существует, и я не могу получить fstream
для этого.
#include <fstream>
using std::fstream;
int main(int argc, char *argv[]) {
fstream file;
file.open("test.txt");
file << "test";
file.close();
}
Нужно ли мне указывать что-либо в функции open()
, чтобы заставить его создать файл? Я читал, что вы не можете указать ios::in
, поскольку ожидаете, что уже существует существующий файл, но я не уверен, что для файла, который еще не существует, необходимо указать другие параметры.
Вы должны добавить fstream:: out, чтобы открыть метод следующим образом:
file.open("test.txt",fstream::out);
Дополнительная информация о флажках fstream, посмотрите эту ссылку: http://www.cplusplus.com/reference/fstream/fstream/open/
Вам нужно добавить некоторые аргументы. Кроме того, запуск и открытие можно поместить в одну строку:
fstream file("test.txt", fstream::in | fstream::out | fstream::trunc);
Это сделает:
#include <fstream>
#include <iostream>
using std::fstream;
int main(int argc, char *argv[]) {
fstream file;
file.open("test.txt",std::ios::out);
file << fflush;
file.close();
}