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:
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:
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
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.
Cita de: alejandrosevenfold en 1 Septiembre 2012, 04:16 AMel codigo es el siguiente:
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í:
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