pabkil 0 Report post Posted April 2, 2012 Inicialmente boa noite! Bom meu problema é o seguinte, preciso ler um arquivo de texto que está no seguinte formato: 9101422;Abilio Gambim Parada 9200644;Aira Muane Dutra Lippert 10102111;Alan Brochier 9201505;Alan Lucas Romagnoli Becerra 8102307;Alan Schlindvein de Araujo 9200622;Albert Timm 8201651;Alex Bertei Tenho de colocar os números em um vetor e os nomes em outro, para a seguir organiza-los via bubble e merge sort. Alguém tem alguma ideia de como posso implementar isso? Pensei inicialmente em utilizar o fscanf para leitura com parada em EOF mas ele lê além dos números. Bom, desde já agradeço pela ajuda! Share this post Link to post Share on other sites
pikax 142 Report post Posted April 2, 2012 Boa noite! exprimenta #include<stdio.h> int main() { FILE *fich; int num; char nome[55]; fich=fopen("a.txt","r"); fscanf(fich,"%d;%[^\n]",&num,nome); printf("%d:%s",num,lol); } espero ter ajudado Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast." Share this post Link to post Share on other sites
pmg 86 Report post Posted April 2, 2012 O feof() não "faz" o que tu pensas que faz. Suponho que pensas que o feof() te indica, a dado momento, se o ficheiro está no fim. Pois não é isso que ele faz. O que o feof() "faz" é dizer-te, depois de uma falha de leitura, se a falha de leitura se deveu ao ficheiro ter chegado ao fim. Uso correcto: int ch; do { ch = getchar(); if (ch != EOF) { /* processar ch */ } } while (ch != EOF); if (feof(stdin)) /* a leitura acabou porque o input chegou ao fim */; if (ferror(stdin)) /* a leitura acabou porque houve um erro no input (falha de disco, falha de rede, ...) */; Uso incorrecto: while (!feof(stdin)) { ch = getchar(); /* processar ch */ } What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código! Share this post Link to post Share on other sites