• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

MrAnderson

[Resolvido] Como ver se o buffer está vazio? ( usando redirect por ficheiro )

3 mensagens neste tópico

Heys

queria executar um programa assim:

prog < nome.txt

em que ele ia ler o conteudo do nome.txt

entao fiz isto:

#include <stdio.h>
#include <stdlib.h>


int main() {
       char abc[100];

       while (stdin != NULL)
              gets(abc);
printf("s",abc);
return 0;
}

Mas nao deu em nada, parece que entra em ciclo infinito ou então nao, porque nao escreve nada.

se poderem dar uma ajuda agradeço  :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

while (!feof(stdin))

é a forma correcta de o fazer.

Não te esqueças que o eof só retorna true depois de ele ter tentado ler alguma coisa e tenha constatado que atingiu o final do ficheiro, logo, faz a leitura no final do ciclo e não no inicio.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

muito obrigado,

int main() {
       char abc[100];
       gets(abc);
       while (!feof(stdin)) { 
       printf("%s\n",abc);
              gets(abc);
              }
return 0;
}

e funciona :D

EDIT: Bem vindo ao forum MrAnderson. Quando postares código usa a ferramenta GeSHi, assim o código fica mais legível  :thumbsup:

          Ass. brink@ero

0

Partilhar esta mensagem


Link 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