Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Dexter's Lab

Duvida com ficheiros

Mensagens Recomendadas

Dexter's Lab

Boas pessoal

uso o seguinte método para colocar o valor string de um ficheiro .txt no meu programa:

   FILE *pg3;
   char txt[150];

   pg3 = fopen("pg3.txt","r");
   fgets(txt,sizeof(txt),pg3);
   fclose(pg3);
   printf("%s\n\n",txt);

Só que deixa de ler quando encontra um parágrafo no ficheiro. Como posso contornar isso?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

Para um ficheiro de texto, essa é a tua melhor opcao.

Se o ficheiro nao é de texto (ou se o pretendes tratar como se nao fosse) podes usar fread() para ler uma quantidade especifca de caracteres com uma instrucao

   FILE *pg3;
   char txt[150];
   size_t numread;

   pg3 = fopen("pg3.txt", "r"); /* falta validacao! */
   errno = 0;
   numread = fread(txt, 1, sizeof txt - 1, pg3);
   if (errno || (numread < sizeof txt - 1) {
       /* fim de dados prematuro ou erro de leitura */
   }
   fclose(pg3);
   /* ATENCAO: txt nao é uma string (nac acaba com '\0') */
   txt[sizeof txt - 1] = 0; /* agora ja é uma string; ja se pode imprimir com printf() */
   printf("%s\n\n", txt);


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!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.