Tengo el siguiente programa
//********************Proyecto de Simulación Empresa****************
//Definición de Librerías
#include <stdio.h>
#include <fstream.h>
#include <string.h>
//Definición de Estructuras y creación de objetos
struct empresa
{
char * rif;
char nit[10];
char nombre[30];
char cuidad[30];
} sucursal[4];
struct trabajador
{
char nacionalidad;
long ci;
char nombre[25];
char apellido[25];
int edad;
int gerencia_id;
char sucursal_rif[10];
} empleado[80];
struct departamento
{
int id;
char nombre[20];
} gerencia[4];
struct mercancia
{
int id;
char nombre[30];
long costo;
int existencia;
} producto[10];
struct salario_base
{
long salario;
} sueldo_base;
struct distrib_ingresos
{
int id;
char concepto[30];
int salario;
} distribucion_ingresos[3];
struct venta
{
char sucursal_rif[10];
int mes;
int dia;
char nac_vendedor;
long ci_vendedor;
int id_producto;
long precio;
int cantidad;
} ventas[27000];
struct compra
{
char sucursal_rif[10];
int mes;
int dia;
int id_mercancia;
long costo;
int cantidad;
} compras[5400];
//Definicación de funciones y procedimientos
int cargar_estructura(char data[], int estructura)
{
int i=0;
ifstream archivo(data, ios::in);
char linea[128];
char * pch;
char * pch2;
//char pch[128];
int atributo=0;
if(archivo.fail())
{
cerr << "Error al abrir el archivo " << endl;
printf("%s",data);
}
else
while(!archivo.eof())
{
archivo.getline(linea, sizeof(linea));
pch = strtok (linea,";");
if(pch == NULL)
{
//cerr << "Error al abrir el archivo " << endl;
printf("Error al abrir el archivo %s\n",data);
}
atributo = 1;
while (pch != NULL)
{
//estructura 1: sucursal;
//estructura 2: empleado;
//estructura 3: gerencia;
//estructura 4: producto;
//estructura 5: sueldo base;
//estructura 6: distribucion ingreso;
switch(estructura)
{
case 1: //estructura 1: sucursal;
switch(atributo)
{
case 1:
//printf("algo1 ");
//sucursal[i].rif = pch;
pch2 = pch;
sucursal[i].rif = pch2;
atributo+=1;
break;
case 2:
printf("algo2 ");
atributo+=1;
break;
case 3:
printf("algo3 ");
atributo = 0;
break;
case 4:
printf("algo3 ");
atributo = 0;
break;
}
break;
case 2:
printf("algo suc");
break;
}
//printf ("%s\n",pch);
//printf("ESTO ES EL RESULTADO: %s\n",sucursal[i].rif);
pch = strtok (NULL, ";");
}
i+=1;
//archivo.getline(linea, sizeof(linea));
}
archivo.close();
return 0;
}
//Función Pricipal
void main()
{
int v;
v = cargar_estructura("sucursal.txt",1);
printf("ES ESTO ES EL RESULTADO: %s\n",sucursal[1].rif);
//printf("\n%s",sucursal[4].rif);
}
deseo cargar un archivo txt a una estructura pero los datos que se almacenan son basura. Alguien me puede decir como hacer para cargar los datos de una manera más eficiente y sin basura??. Soy nuevo en esto de C++ muchas gracias.