Ir ao conteúdo
  • Cadastre-se

Separação de variaveis em csv


Thiago Alcaras

Posts recomendados

Pessoal, meu professor passou um trabalho que tenho que ler um arquivo CSV já com 100 clientes cadastrados, este arquivo deve ser lido e separar o conteúdo já existente em uma estrutura de dados, para que depois também possa ser adicionado outros clientes, excluidos e tudo mais, porém estou tendo muita dificuldade em separar as informações em variáveis. Alguém poderia ajudar?

O inicio do meu programa (a função do arquivo), está até agora desta maneira:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char string [1000];
float total;
FILE * pFile;
char linha[200];

struct estrutura
{
    int aux;
    char nome[40];
    char endereco[40];
    char cidade[40];
    char pais[20];
    char cep[10];
    char nasc[12];
    char telefone[14];
   	float total[20];
};

struct estrutura cliente[200];

int menu();
int menu2();
void arquivo();
void adicionar();
void alterar();
void excluir();
void exibir();
void pesquisar();
void listarnome();
void listarcodigo();
void listartotal();
int contar();

char *tmp;

main()
{
	system("cls");
	menu(); //a função arquivo é uma opção do menu
}
		

//----------------------------------------------
//LEITURA DE ARQUIVO
//----------------------------------------------
void arquivo()	
{	  
	pFile = fopen( "11_ProjetoPratico_ControleClientes_clientes.csv", "r" )	;
    int i = 0;
    
    while (fgets(string, 1000, pFile) != NULL)
    {
        tmp = strtok(linha, ";");
        cliente[i].aux = atoi(tmp); //atoi for int
        
        tmp = strtok(NULL, ";"); //use strcpy for char
        strcpy(cliente[i].nome,tmp);
        printf("%s", cliente[i].nome);
   	
        tmp = strtok(NULL, ";");
        strcpy(cliente[i].endereco,tmp);
 
        tmp = strtok(NULL, ";");
        strcpy(cliente[i].cidade, tmp);
       
        tmp = strtok(NULL, ";");
        strcpy(cliente[i].pais, tmp);
       
        tmp = strtok(NULL, ";");
        strcpy(cliente[i].cep, tmp);
       
        tmp = strtok(NULL, ";");
        strcpy(cliente[i].nasc, tmp);
       
        tmp = strtok(NULL, ";");
        strcpy(cliente[i].telefone, tmp);
     
        i++;
    }
    //free(buf);
    fclose(pFile);
}

Como eu resolveria isso para ler o que já existe lá dentro e separar? Obrigado desde já!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...