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

Vnepomuceno

scanf e \n

6 mensagens neste tópico

Muito boa tarde!

Estou a desenvolver um projecto que consiste em ler um ficheiro dado como input, fazer uma série de operações e devolver um certo ficheiro como output. Algumas destas operações envolvem o armazenamento numa variável, da linha que está a ser lida.

A leitura de ficheiro, estou a faze-la com um while do tipo:

char *word = malloc(sizeof(char) * 20);
while(scanf("%s", word) != EOF)
{...}

Porém estou com um pequeno problema, todo o projecto fiz a sacar palavras (ao contrário do que poderia ter feito com caracteres) e não sei como fazer para "detectar" o \n e assim incrementar a variável da linha actual... Já virei e revirei várias soluções, mas nenhuma se adequa perfeitamente. Até já procurei sobre formatações especiais de scanf's, mas também não encontrei nada de especial.

Podiam-me dar uma ajuda, sff?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Usando um ciclo while com o fgets para receber numa string linha a linha e depois usava uma outra função para procurar palavra a palavra nessa string/linha? Era essa a tua ideia? De facto é bem pensada, mas que função usaria para percorrer palavra a palavra numa string?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podias usar a função strsep (ou a strtok). Mas tudo depende do que precises de fazer.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas

eu tb nao sei como e k fazs mas tb tenh o msm projecto xD

s o twity sabe k andas a meter cenas pr o pessoal copiar tas lixado xD

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já consegui resolver! Muito obrigado pela ajuda!

Quem é o twity e o que cenas é que estou a meter para o pessoal copiar?

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