/ Published in: C++
                    
                                        
                            
                                Expand |
                                Embed | Plain Text
                            
                        
                        Copy this code and paste it in your HTML
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <string.h>
#include <stdlib.h>
#include <iomanip.h>
#define FALSE 0
#define TRUE 1
#define MAXLINEA 255
#define MAXCAMPO 41
#define TOPEVECTOR 200
typedef int bool;
typedef char str40[MAXCAMPO];
typedef char str_linea[MAXLINEA];
typedef struct ty_libro
{
int iCodigo;
str40 sAutor;
str40 sNombre;
float fPrecio;
int iStock;
};
//Una lÃnea del archivo seria la siguiente:
//2;Huenun, Jaime;20 Poetas Mapuche Contemporaneos;2.91;3
void main()
{
FILE *pArchivo;
ty_libro vLibro[TOPEVECTOR];
char *token;
str_linea linea;
int i=0;
clrscr();
//Abro el archivo en modo lectura
pArchivo=fopen("C:\\libros.csv","rt");
if(pArchivo==NULL)
{
cout<<"No se pudo abrir el Archivo de Entrada.\n";
}
else
{
cout<<"El archivo se abrio correctamente.\n";
}
//Parseo el archivo hasta la marca de fin de archivo
//y voy guardando los registros en el vector de registros
while (!feof(pArchivo))
{
fgets(linea,MAXLINEA,pArchivo);
token = strtok(linea,";");
vLibro[i].iCodigo = atoi(token);
token = strtok(NULL,";");
strcpy(vLibro[i].sAutor,token);
token = strtok(NULL,";");
strcpy(vLibro[i].sNombre,token);
token = strtok(NULL,";");
vLibro[i].fPrecio = atof(token);
token = strtok(NULL,";");
vLibro[i].iStock = atoi(token);
i++;
}
//Cierro el archivo
fclose(pArchivo);
//Muestro parte del contenido para verificar el correcto parseo
for(i=0;i<2;i++)
{
cout<<"Codigo: "<<vLibro[i].iCodigo<<endl;
cout<<"Nombre: "<<vLibro[i].sNombre<<endl;
cout<<"Autor: "<<vLibro[i].sAutor<<endl;
cout<<"Precio: "<<vLibro[i].fPrecio<<endl;
cout<<"Stock: "<<vLibro[i].iStock<<endl;
cout<<setw(8)<<setfill('-')<<"-"<<endl;
}
getchar();
}
Comments
 Subscribe to comments
                    Subscribe to comments
                
                