Autor
|
Tema: Duda: ios::out e ios::ate (Leído 3,896 veces)
|
erest0r
Desconectado
Mensajes: 147
|
Hola, estoy algo confuso con esos 2 modos, por lo que leí ios::out crea un archivo en modo salida, y si existe lo sobrescribe, ios::ate abre un archivo en modo salida y se desplaza al final del archivo pero se puede mover a través de él, pero tengo este código de practica que estuve leyendo e ios::ate borra todo lo existia en el archivo #include <iostream> using std::cerr; using std::cin; using std::cout; using std::endl; using std::ios; #include <fstream> // flujo de archivo using std::ofstream; // flujo de archivo de salida #include <cstdlib> using std::exit; int main() { // el constructor de ofstream abre el archivo ofstream archivoClienteSalida( "clientes.dat", ios::ate ); // originalmente era ios::out y lo coloque ios::ate para probar // sale del programa si no puede crear el archivo if ( !archivoClienteSalida ) // operador ! sobrecargado { cerr << "No se pudo abrir el archivo" << endl; exit( 1 ); } cout << "Escriba la cuenta, nombre y saldo." << endl << "Escriba fin de archivo ( Ctrl + Z ) para terminar la entrada.\n?"; int cuenta; char nombre[30]; double saldo; // lee la cuenta, nombre y saldo de cin y despues los coloca en el archivo while ( cin >> cuenta >> nombre >> saldo ) { archivoClienteSalida << cuenta << ' ' << nombre << ' ' << saldo << endl; cout << "?"; } return 0; }
|
|
|
En línea
|
Cruzar la calle junto a mucha gente cuando el semáforo sigue en rojo da seguridad y espíritu de equipo... o cruzamos todos o morimos juntos.
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
en vez de "ate" usa "ios::app". A ver si te va.
Por cierto, que veo que pones muchos "using". Te llega con poner "using namespace std;".
|
|
« Última modificación: 18 Agosto 2014, 00:47 am por ivancea96 »
|
En línea
|
|
|
|
erest0r
Desconectado
Mensajes: 147
|
ios::app sí almacena los datos al final del archivo, pero siempre lo hace al final por lo que he leído, en cambio ios::ate debería moverse a través de este y agregar los datos en cualquier parte.
Lo del exceso de "using" es por como había dicho anteriormente, era un código de practica que leí.
|
|
|
En línea
|
Cruzar la calle junto a mucha gente cuando el semáforo sigue en rojo da seguridad y espíritu de equipo... o cruzamos todos o morimos juntos.
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Pero tal como usas en ese código ofstream, te debería servir con ios::app.
|
|
|
En línea
|
|
|
|
erest0r
Desconectado
Mensajes: 147
|
Sí, pero el punto es que, ¿ si uso ios::ate, no debería posicionarse al final sin sobrescribir el contenido?
O saber el equivalente al modo "r+" de la función fopen en C, ya que ios::app funcionaria como "a+", y pensé que ios::ate funcionaria como "r+", perro viendo como funciona ese código veo que no, o quizás me esta faltando algo
|
|
« Última modificación: 18 Agosto 2014, 11:47 am por Eternal Idol »
|
En línea
|
Cruzar la calle junto a mucha gente cuando el semáforo sigue en rojo da seguridad y espíritu de equipo... o cruzamos todos o morimos juntos.
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Para que no te sobrescriba, tienes que abrir un fstream con ambas ios::out e ios::in, más el ios::ate, claro.
|
|
|
En línea
|
|
|
|
erest0r
Desconectado
Mensajes: 147
|
Gracias =)
|
|
|
En línea
|
Cruzar la calle junto a mucha gente cuando el semáforo sigue en rojo da seguridad y espíritu de equipo... o cruzamos todos o morimos juntos.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Pequeña duda con un comando batch (NUEVA DUDA RELACIONADA)
Scripting
|
revenge1252
|
9
|
9,706
|
13 Febrero 2008, 21:41 pm
por revenge1252
|
|
|
Duda duda y duda de Metasploit
Bugs y Exploits
|
huber_nomas
|
4
|
5,739
|
17 Febrero 2012, 14:00 pm
por MauroMasciar
|
|
|
Duda facil, [VIDEO QUE EXPLICA MI DUDA]
Diseño Gráfico
|
Ngeooz
|
6
|
8,803
|
2 Diciembre 2013, 19:33 pm
por Ngeooz
|
|
|
[DUDA] Cambiar letra de unidad a archivo con un Batch [DUDA]
« 1 2 »
Windows
|
MrMaticool
|
10
|
11,161
|
12 Febrero 2014, 17:55 pm
por MrMaticool
|
|
|
[DUDA][LICENCIA][GPL]tengo una duda sobre las caracteristicas de la licencia GPL
Dudas Generales
|
Noxware
|
0
|
1,838
|
2 Mayo 2014, 00:34 am
por Noxware
|
|