Francklin 0 Denunciar post Postado Junho 12, 2012 Bom dia pessoal, sou iniciante em programação. Mas a alguns dias descobri umas coisas interessantes e estou tentando fazer um programa para uma locadora-fantasia. No entanto quando escolho a opção de exibir as informações contidas no arquivo bd.txt exibe um monte de caracteres estranhos. Poderiam me ajudar? Aqui está a parte do código: void funcb(){ char nome[100], endereco[200], acess, temp[301]; unsigned int n_end, cep, rg; FILE *bd; bd = fopen("/home/francklin-note/bd.txt", "r"); if(bd == NULL){printf("\nO arquivo nao pode ser aberto!"); } else{ fgets(temp, 300, bd); printf ("Cliente | Endereco, Numero | CEP | RG\n"); while(!feof(bd)){ nome[100] = strtok(temp,","); endereco[200] = strtok(NULL,","); n_end = strtok(NULL,","); cep = strtok(NULL,","); rg = strtok(NULL,","); printf("%s|%s|%d|%d|%d\n", nome, endereco, n_end, cep, rg); fgets(temp, 300, bd); } } Compartilhar este post Link para o post Compartilhar em outros sites
GBecker 51 Denunciar post Postado Junho 12, 2012 Francklin, A primeira vista você está errando ao pegar o retorno da função strtok. Esta função retorna um ponteiro para char e não uma string. nome[100] = strtok(temp,","); Não é desta forma que se inicializa uma string. Segue um link com a explicação de strtok: http://www.cplusplus.com/reference/clibrary/cstring/strtok/ Sugiro que você estude um pouco sobre manipulação de strings em C. http://pt.wikibooks.org/wiki/Programar_em_C/Strings Espero ter ajudado, FLW!! Compartilhar este post Link para o post Compartilhar em outros sites
Francklin 0 Denunciar post Postado Junho 12, 2012 Ajudou bastante amigão! Fico grato, e estou a estudar sim. Já consegui resolver esse probleminha... Compartilhar este post Link para o post Compartilhar em outros sites