Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tmwh

ficheiro para stream

Recommended Posts

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

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
tentei 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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.