fstream no creará un archivo

Simplemente bash crear un archivo de texto si no existe y parece que no puedo obtener fstream para hacer esto.

 #include  using std::fstream; int main(int argc, char *argv[]) { fstream file; file.open("test.txt"); file << "test"; file.close(); } 

¿Debo especificar algo en la función open() para que cree el archivo? He leído que no se puede especificar ios::in ya que se espera que un archivo ya existente esté allí, pero no estoy seguro de si se deben especificar otros parámetros para un archivo que aún no existe.

Debe agregar fstream :: out para abrir un método como este:

 file.open("test.txt",fstream::out); 

Para obtener más información sobre los indicadores de fstream, consulte este enlace: http://www.cplusplus.com/reference/fstream/fstream/open/

Necesitas agregar algunos argumentos. Además, la creación de instancias y la apertura se pueden poner en una línea:

 fstream file("test.txt", fstream::in | fstream::out | fstream::trunc); 

Esto lo hara:

 #include  #include  using std::fstream; int main(int argc, char *argv[]) { fstream file; file.open("test.txt",std::ios::out); file << fflush; file.close(); }