DUVIDAS EP_04

Re: DUVIDAS EP_04

por Rodrigo Cordeiro Godoy -
Número de respostas: 0
Artur, uma solução poderia ser você ter colocado um espaço no lugar do \n que sinaliza o final do comentário. Deste modo você não sofreria com números sendo juntados.

Na especificação do arquivo tipo pgm a única anotação sobre \n's são com respeito aos comentários. Eles sinalizam um final de comentário.

Estou colocando uma versão do feep.pgm anexado a este post que lhe mostra como um arquivo.pgm também pode ser escrito (sem perder informações sobre a imagem). Abra ele em um editor de texto para ver a diferença que não faz diferença.


Em relação ao ungetc ele serve para você devolver para o stream do arquivo algum byte (char). Deste modo se você encontrasse um número, pegando char por char e quisesse saber onde ele termina, você poderia pegar um por um e quando encontrasse algo que não fosse número, e você tiver certeza que o número terminou ali, então devolver tudo para o stream (os números, como se estivesse desempilhando-os) e pegar de uma vez um %d.

Mas eu acho que o que o professor quis dizer e que se você passasse pelo FILE todo, retirando ele os comentários (usando ungetc - você pode colocar um byte diferente do que realmente estava lá inicialmente-, sem precisar reescrever em outro lugar, como você fez) e daí passar pelo arquivo como você faria normalmente com um arquivo sem comentários.