tmwh 0 Denunciar post Postado Outubro 3, 2007 Boas malta. Tou com 1 problema num bloco de código que não consigo resolver. Estou a tentar ler de um ficheiro para um vector e tudo parecia correr bem mas quando vou a visualizar os campos os mesmos estão errados; se tiver no campo nome mais do que 1 palavra ele apenas lê a 1ª palavra. Dando 1 exemplo: nome joão paulo, morada: casa, quando vou a ler do ficheiro e depois visualizo aparece nome: joão, morada: paulo. A seguir segue o código: void carregaClientes(void){ ifstream entrada(FILE_CLIENTES); if (!entrada) { cout << "\n\n\t\tERRO NA ABERTURA DO FICHEIRO DOS CLIENTES!!!"; cout << "\n\n\nPressione uma tecla."; getch(); return; } entrada >> num_clientes; int j=0; for (j=0; j<num_clientes; j++) { entrada >> vec_clientes[j].cl_nif;"\n"; entrada >> vec_clientes[j].cl_nome;"\n"; entrada >> vec_clientes[j].cl_morada;"\n"; entrada >> vec_clientes[j].cl_contacto;"\n"; } entrada.close(); cout << "\n\n\t\tCLIENTES ABERTOS COM SUCESSO!!!"; cout << "\n\n\nPressione uma tecla."; getch(); return; } // carrega todos os cliente do ficheiro Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Outubro 3, 2007 Tente usar isso: entrada >> noskipws >> vec_clientes[j].cl_nome;"\n"; noskipws -> Do not skip whitespaces -> Não pula espaços em branco. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
tmwh 0 Denunciar post Postado Outubro 14, 2007 Tente usar isso: entrada >> noskipws >> vec_clientes[j].cl_nome;"\n";noskipws -> Do not skip whitespaces -> Não pula espaços em branco. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.giftentei usar essa solução mas não deu certo. acabei por resolver de outra forma, inserir caracteres em vez dos espaços em branco. Brigadão na mesma. Compartilhar este post Link para o post Compartilhar em outros sites