Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/01/2018, 22:10
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: No puedo escribir en archivo correctamente

Es por el modo de apertura, debe ser in|out.
Código C++:
Ver original
  1. std::ofstream ostr (path);                                                           //Sobreescribe el archivo original caso existir, similar a al modo "W" de C
  2. std::ofstream ostr (path, std::ofstream::out|std::ofstream::trunc );                 //Equivale al modo anterior porem de forma implicita, similar a al modo "W" de C
  3. std::ofstream ostr (path, std::ofstream::in|std::ofstream::out );                    //Altera datos al fichero existente, lo hace al principio,, similar a al modo "r+" de C. Bueno si lo que quieres es moverte pelo fichero con seekg o seekp.
  4. std::ofstream ostr (path, std::ofstream::in|std::ofstream::out|std::ofstream::app ); //Altera datos al fichero existente, los nuevos datos seran adicionados al final, similar a al modo "a" de C. De poca ayuda si lo que quieres es alterar datos en el fichero ya que no permite usar seekp o seekg, pues los datos siempre seran inseridos al final del fichero, mismo que intentes mover el puntero, los datos iran a parar al final del archivo.