Ir para conteúdo
Fórum Script Brasil
  • 0

Separação de informações de CSV em variavel


ThiagoAlc

Pergunta

Estou com um trabalho de Estrutura de Dados para ser feito, mas estou tendo muita dificuldade em ler um arquivo CSV e separar as informações em variáveis. O problema deve ser iniciado desta maneira para que depois ainda seja adicionado mais clientes, excluir e tudo mais. 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);
     

        printf("index i= %i  ID: %i, %s, %s, %s, %s, %s, %s, %s, %f \n",i, cliente[i].aux , cliente[i].nome, cliente[i].endereco , cliente[i].cidade, cliente[i].pais, cliente[i].cep, cliente[i].nasc, cliente[i].telefone, cliente[i].total);
 
        i++;
    }
    //free(buf);
    fclose(pFile);
}

Obrigado desde já!

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...