Tratamento de comentários

Tratamento de comentários

por Ian Carvalho -
Número de respostas: 10

Carlinhos,

Podemos assumir que no arquivo PGM os comentários sempre entrarão numa nova linha ou precisamos tratar o caso em que o comentário seja colocado após algum texto?
Ex:

Comentário numa nova linha

P2
# imagem: exemplo.pgm
5 4
16
9 4 5 0 8
10 3 2 1 7
9 1 6 3 15
1 16 9 12 7

Comentário após texto:

P2
5 4
16
9 4 5 0 8 # imagem: exemplo.pgm
10 3 2 1 7
9 1 6 3 15
1 16 9 12 7

 

Outra coisa, na matriz do arquivo pgm, os valores são sempre separados pelo char ' ' (espaço simples)?

 

Abraços

Em resposta à Ian Carvalho

Re: Tratamento de comentários

por Carlos E. Ferreira -

Dei uma olhada por aí e parece que sim, as linhas de comentário sempre começam com o # (ele não aparece no meio de uma linha).

Os separadores podem ser espaços ou tabs, pelo que vi, por exemplo, em

http://netpbm.sourceforge.net/doc/pgm.html

 

 

 

Em resposta à Carlos E. Ferreira

Re: Tratamento de comentários

por Gustavo Chicato -

Professor, ao realizar a codificação, é necessário que os comentários do desenho original também sejam copiados para a imagem com marca d'água?

Em resposta à Gustavo Chicato

Re: Tratamento de comentários

por Carlos E. Ferreira -

Sim, quando aparece uma linha que começa com # ela deve ser copiada.

abraços,

carlinhos

Em resposta à Carlos E. Ferreira

Re: Tratamento de comentários

por Lucas Silva -

Professor,

para guardar esses comentários, eu precisaria dum vetor ou algo assim. Posso supor que vai ter uma quantidade max de comentários?

 

Att.

Lucas Romão

Em resposta à Lucas Silva

Re: Tratamento de comentários

por Carlos E. Ferreira -

??? Precisa mesmo???

carlinhos

Em resposta à Carlos E. Ferreira

Re: Tratamento de comentários

por Vinícius Bitencourt Matos -

A leitura do arquivo que contém o desenho é feita na função LeDesenho, cujo protótipo (segundo o .pdf que contém as instruções) obrigatoriamente é 

int LeDesenho( char nomearq[FNMAX], cinza M[MAX][MAX], int *pm, int *pn, int *pmax );

Obviamente os comentários não serão salvos nas variáveis recebidas nos parâmetros. A função que imprime não tem acesso ao nome do arquivo original, então também não é possível obter os comentários lendo novamente do arquivo.

Portanto, a única forma de salvar os comentários seria guardá-los em um vetor declarado como variável global... assim, é necessário definir o tamanho em tempo de compilação, correto?

Em resposta à Vinícius Bitencourt Matos

Re: Tratamento de comentários

por Guilherme Luis da S F Renoldi -

Ou, talvez, quem sabe, salvar em outro arquivo .pgm? ai a cópia poderia ser feita linha a linha!

Em resposta à Guilherme Luis da S F Renoldi

Re: Tratamento de comentários

por Gustavo Chicato -

Sim. Criar uma função para primeiro copiar todo o conteúdo para o novo arquivo e, em seguida, ir para EscreveDesenho e abrir o arquivo com parâmetro "r+". Assim seria possível atualizar os valores sem comprometer o resto.

Em resposta à Gustavo Chicato

Re: Tratamento de comentários

por Vinícius Bitencourt Matos -

Se a cópia for feita antes da codificação, precisaríamos supor que o usuário não vai apagar/mover/renomear o novo arquivo nesse intervalo de tempo (entre a criação do arquivo-cópia e a atualização dos valores)... E, se a cópia for feita após a codificação, teríamos que assumir que o usuário não vai apagar/mover/renomear o arquivo original (no intervalo entre a leitura do arquivo original e a criação do arquivo-cópia)... 

Podemos fazer essas suposições?