Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Thiago Alcaras

Separação de variaveis em csv

Recommended Posts

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á!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×