Foros del Web » Programación para mayores de 30 ;) » C/C++ »

leer y almacenar datos desde un txt

Estas en el tema de leer y almacenar datos desde un txt en el foro de C/C++ en Foros del Web. hola a todos, tengo una gran duda, cual es la mejor forma de trabajar un fichero? he estado tratando de leer un txt para luego ...
  #1 (permalink)  
Antiguo 28/07/2010, 14:12
 
Fecha de Ingreso: julio-2010
Mensajes: 8
Antigüedad: 13 años, 9 meses
Puntos: 0
Exclamación leer y almacenar datos desde un txt

hola a todos, tengo una gran duda, cual es la mejor forma de trabajar un fichero?
he estado tratando de leer un txt para luego almacenar sus datos en una matriz, pero no me ha resultado.

mism datos(entradadeprueba) tienen este estilo

DM 00000 04000
DM 00000 04001
. . . .
. . . .
DM 00000 04799
TR 00000 00000 1
TR 00001 00000 1
. . . .
. . . .
TR 00065 00000 1

logro leerlo con este Código.

#include <iostream>
#include <fstream>
using namespace std;

int main ()
{
ifstream celar;
celar.open("entradadeprueba.txt", ios::in);
char linea[80];
if (celar.is_open()){
while(!celar.eof())
{
celar.getline(linea, 80);
cout<< linea<< endl;
}
}
getchar();
celar.close();
return 0;
}

que me pueden recomendar para almacenarlas en una matriz de tipo
DM[contador_dm][2] y TR[contador_tr][3].
  #2 (permalink)  
Antiguo 28/07/2010, 15:40
 
Fecha de Ingreso: julio-2010
Mensajes: 29
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: leer y almacenar datos desde un txt

disculpa mi poca ayuda, pero yo que sepa hay 2 formas de guardar la informacion que tu ingresas a un .txt es decir en forma binaria y en modo texto.
si elijes el binario obviamente no entendaras nada porque te saldra pura basura pero modo texto te sale obviamente lo que has ingresado.
  #3 (permalink)  
Antiguo 28/07/2010, 16:20
 
Fecha de Ingreso: julio-2010
Mensajes: 8
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: leer y almacenar datos desde un txt

si, gracias eso lo sabia, pero como puedo alamcenarlo en las matrices ke kiero

DM[contador_dm][2] y TR[contador_tr][3].

acepto ideas, gracias.
  #4 (permalink)  
Antiguo 28/07/2010, 16:32
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: leer y almacenar datos desde un txt

En ves de ir leyendo linea por linea deberias leer asi:


char cadena[3];
int numero1,numero2;
if (celar.is_open()){
while(!celar.eof())
{
celar >> cadena;
celar >> numero1;
celar >> numero2;
cout<< cadena<<" "<<numero1<<" "<<numero2 endl;
}
}

Ahora no se de que formas quieres guardar los datos en el array pero supongo que deberias ver si la cadena es: DM o TR.. una vez que reconoces la matriz lo guardas donde corresponde!!
  #5 (permalink)  
Antiguo 28/07/2010, 16:36
 
Fecha de Ingreso: julio-2010
Mensajes: 8
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: leer y almacenar datos desde un txt

exacto es es lo ke busco, gracias
  #6 (permalink)  
Antiguo 30/07/2010, 09:26
 
Fecha de Ingreso: julio-2010
Mensajes: 8
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: leer y almacenar datos desde un txt

hola, soy yo denuevo, logre diferenciar el tipo de cadena con

if(strncmp(linea,"DM",2)==0) number = 1;
if(strncmp(linea,"TR",2)==0) number = 2;

agregue un switch para los casos,
utilise la funcion strtok, para separar el char. Despues acupe atof() para transformar el char en entero, tambien agregue un contador para cada caso pk las filas varían , pero las columnas son constantes.

pero no puedo almacenarlo en una matriz bidimencional del tipo DM[contador_dm][2] y TR[contador_tr][3].

que me pueden recomendar????
  #7 (permalink)  
Antiguo 31/07/2010, 23:00
Avatar de gvite666  
Fecha de Ingreso: abril-2010
Mensajes: 65
Antigüedad: 14 años
Puntos: 4
Respuesta: leer y almacenar datos desde un txt

pues mira nose si te entendi y si estoy mal corrigeme pero si quieres poner una matriz exactamente de ese tamaño no puedes declararla solo asi porque el compilador necesita saber el tamaño del arreglo.

Sin embargo hay algo que se llama memoria dinamica en el cual si es posible: aqui un link muy bueno de esto: "http://www1.ceit.es/asignaturas/funprogra/Curs05_06%5CPract02c++.pdf"
Saludos. n_n

Última edición por gvite666; 31/07/2010 a las 23:02 Razón: mala sintaxis

Etiquetas: almacenar, txt
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:02.