Consulta error datos invalidos

Consulta error datos invalidos

de Julian O' Flaherty -
Número de respuestas: 5

Buenas,

Tengo una duda sobre que hacer en caso de que el archivo tenga más datos que el tamaño especificado en el encabezado. Por ejemplo la siguiente situación:

----------------------

P2

3 3

255

51 229 178 204 

51 229 178 204 

25 0 255 76 

25 0 255 76 

------------------------

En este archivo se dice que la imagen es de 3x3, pero se dan datos para una 4x4. ¿Hay que detectar este error?

En caso de de que no, ¿trabajamos tomando los datos como si fuera de 3x3?

Saludos,

Julian



En respuesta a Julian O' Flaherty

Re: Consulta error datos invalidos

de Leopoldo Agorio -
En efecto debes detectar este error, y retornar de la función de lectura con un error.
En cualquier caso que retornes con un error, el contenido que hayas cargado o no en el puntero a imagen que llenaste puede ser nulo, o cualquier contenido, no importa. La idea de los retornos de error es que el usuario de la rutina (en este caso tu mismo pero con el sombrero del main) lo utilice para saber que no va a poder acceder al contenido que esperaba, y probablemente retorne su propio código de error.
En respuesta a Leopoldo Agorio

Re: Consulta error datos invalidos

de Julian O' Flaherty -
¿Podemos asumir que el siguiente caracter luego de terminados los datos de la imagen es un EOF o no hay especificación al respecto en el formato PNM? Porque en la letra del obligatorio no vi que se dijera nada sobre el final del archivo y no se si pidiendo el EOF como último caracter pueda estar devolviendo error cuando el archivo es válido.
En respuesta a Julian O' Flaherty

Re: Consulta error datos invalidos

de Camilo Joaquin Mariño Cabrera -
El EOF no es un carácter como cualquier otro, ya que nunca esta presente dentro de un archivo.

En el caso de C, el carácter EOF es el retorno de las funciones de lectura cuando no hay más caracteres para leer. Dicho de otra forma, es la forma que tiene C de indicar cuando finaliza un archivo.
En respuesta a Camilo Joaquin Mariño Cabrera

Re: Consulta error datos invalidos

de Julian O' Flaherty -
Ahh bien. Igual sigo con la duda. En el caso de un archivo plano por ejemplo, ¿iría contra las indicaciones del formato que luego del último integer haya un enter? Porque en ese caso al hacer un fgetc() luego de leer el último integer debería devolver un '\n' en vez de EOF.