Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: alejandrosevenfold en 1 Septiembre 2012, 04:16 am



Título: Ayuda - Guardar un Arreglo (Vector) dentro de un Archivo TxT
Publicado por: alejandrosevenfold en 1 Septiembre 2012, 04:16 am
muy buen dia

mi problema es el siguiente:

estoy realizando un programa en el entorno gráfico de
borland C (en DevC++ con WinBgim instalado) y mi problema
viene a la hora de guardar un arreglo de números dentro de un
archivo de texto

El que del método que estoy utilizando
simplemente guarda todo en una misma linea y a la hora
de querer utilizar las variables de dicho arreglo e intentar
regresarlas a otro arreglo para utilizarlas dentro de operaciones
matemáticas, estas regresan de manera errónea
(solo tomando la primera linea de numeros y dejando el resto vacio)

el codigo es el siguiente:

Código:
fstream dataarch;
    dataarch.open("estadistica.txt", ios::out);
   
    for(i=0;i<n1;i++){                                                     
    dataarch<<x[i];
    }
    dataarch.close();

y el metodo que utilizo para volver a guardarlas al arreglo es este:

Código:
fstream dataarch;
dataarch.open("estadistica.txt", ios::in);
   
    for(i=0;i<n1;i++){                                                     
    dataarch>>i[x];
    }
    dataarch.close();

Desearía por favor una respuesta a este inconveniente
Gracias de Antemano




Título: Re: Ayuda - Guardar un Arreglo (Vector) dentro de un Archivo TxT
Publicado por: Stakewinner00 en 1 Septiembre 2012, 13:03 pm
te dejo un link::http://www.elrincondelc.com/nuevorincon/foros/viewtopic.php?p=49865&sid=260bf507159007f534734f81e7b8da5f (http://www.elrincondelc.com/nuevorincon/foros/viewtopic.php?p=49865&sid=260bf507159007f534734f81e7b8da5f)

HAce poco estuve googleando y cree algo similar pero ya no me acuerdo de como era en todo caso busca por google.


Título: Re: Ayuda - Guardar un Arreglo (Vector) dentro de un Archivo TxT
Publicado por: rir3760 en 1 Septiembre 2012, 18:40 pm
el codigo es el siguiente:

Código:
fstream dataarch;
    dataarch.open("estadistica.txt", ios::out);
   
    for(i=0;i<n1;i++){                                                     
    dataarch<<x[i];
    }
    dataarch.close();
El problema es no separar los números. Supongamos que tu array contiene diez valores (0 a 9) al imprimirlos en el archivo se guardan así:
Código
  1. 0123456789
Cuando tratas de leerlos surge el problema de como interpretar esa linea ya que el numero puede ser 0, 01, 0123, etc. En el caso del operador ">>" este se "traga" todos los caracteres que pueda (para en base a ellos generar el numero).

Para evitarlo basta con separarlos con algún carácter como el espacio, tabulador, etc.

Un saludo