Code:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
void extraeStock(char *linsto, char *descsto, int *cdpro ,int *cantsto, double *precio){
char *cadcdPro, *cadCant, *cadPrecio, *delimit;
delimit=strtok(linsto,",;");/*delimitadores*/
strcpy(descsto,delimit);
cadcdPro=strtok(NULL,";");
*cdpro=atoi(cadcdPro);
cadCant=strtok(NULL,";");
*cantsto=atoi(cadCant);
cadPrecio=strtok(NULL,";");
*precio=atof(cadPrecio);
}
void extraeDistri(char *lindis, char *ape, char *codloc ,int *coddis){
char *cadApe, *cadcodLoc, *cadcodDis, *delimit;
delimit=strtok(lindis,";");
strcpy(ape,lindis);
strcpy(codloc,lindis);
cadcodDis=strtok(NULL,";");
*coddis=atoi(cadcodDis);
}
int main(){
FILE *stock=fopen("stock.csv","r");
FILE *distri=fopen("distribuidores.csv","r");
char descsto[50], ape[50], codloc[50];
char linsto[2000], lindis[2000];
int cdpro, cant, coddis;
double precio;
if(stock!=NULL){
fgets(linsto,2000,stock);
printf( "Cod.Prod.\tCantidad\tDesc.Prod.\tPrecio./U\n");
while(!feof(stock))
{
extraeStock(linsto,descsto,&cdpro,&cant,&precio);
printf("%d \t\t%d \t\t%s \t$ %.2lf\n",cdpro,cant,descsto,precio);
fgets(linsto,2000,stock);
}
}
if(distri!=NULL){
fgets(lindis,2000,distri);
printf( "\nCod.Distri. \tEmpresa\t\tLocalidad\n");
while(!feof(distri))
{
extraeDistri(lindis,ape,codloc,&coddis);
printf("%d \t\t%s \t\t%s\n",coddis,ape,codloc);
//fscanf(distri,"%s \t\t%d \t\t%s\n",ape,&coddis,codloc);
//printf("%d \t\t%s \t\t%s\n",coddis,ape,codloc);
fgets(lindis,2000,distri);
}
}
system("pause");
return 0;
}
The first function (extraeStock) it's running ok, it's bring me that i need. But the second its not working, it's repeating the same column twice.