Andrepereira9 Posted June 16, 2013 at 07:03 PM Report #513272 Posted June 16, 2013 at 07:03 PM Boas Tardes Eu tenho um ficheiro de texto, que está estruturado da seguinte forma: 001; André; 912567899;12345678;987654321;Portugal 002;Pereira;919876543;87654321;12345678;Portugal E preciso de ler linha a linha, e dividir os valores pelos ; Tenho este código em que consigo ler linha a linha e dividir pelos ; int main() { FILE *Ficheiro; Ficheiro = fopen("Teste.txt","r"); char linhas[500]; char linha[500]; while( fgets (linhas,500,Ficheiro)) { if (linha != NULL) { char *pnome; pnome = strtok(linhas, ";"); while (pnome != NULL) { printf ("%s\n", pnome); pnome = strtok (NULL,";"); } } } fclose(Ficheiro); return (0); } Mas agora o problema está em passar cada valor para o array correspondente. Ou seja para o array ID, Nome, Telemovel, Contribuinte, CC, Pais. Alguma sugestão?... A informática chegou para resolver problemas que antes não existiam Quem ri por último é porque está conectado a 52 Kbs.
HappyHippyHippo Posted June 17, 2013 at 04:53 AM Report #513300 Posted June 17, 2013 at 04:53 AM struct Pessoa { int numero; char nome[32]; char tel1[16]; char tel2[16]; char tel3[16]; char pais[32];};#define MAX_PESSOAS 500int main(void){ struct Pessoa pessoas[MAX_PESSOAS]; unsigned int npessoas = 0; FILE * fd; char linha[500]; fd = fopen("Teste.txt","r"); while( fgets(linha, 500, fd) && npessoas < MAX_PESSOAS) { sscanf(linha, "%d;%32[^;];%16[^;];%16[^;];%16[^;];%32[^\n]\n", &pessoas[npessoas].numero, pessoas[npessoas].nome, pessoas[npessoas].tel1, pessoas[npessoas].tel2, pessoas[npessoas].tel3, pessoas[npessoas].pais); npessoas++; } fclose(fd); return (0);}[/Code] IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now