Duda con obligatorio 2

Duda con obligatorio 2

de Joan Francisco Rodrigues De Sa Martinez -
Número de respuestas: 6

Buenas.

Cuando a las funciones se les pada una ruta de imagen para que la copie, por ejemplo "lagartija_plano.ppm" para que copie su información, esta imagen debe estar dentro de la carpeta con nuestro nombre y apellido, es decir debe estar en el mismo directorio.

Al momento de la corrección, ¿Cargaran las imágenes a la carpeta con las que desean que trabaje el obligatorio?

Gracias

En respuesta a Joan Francisco Rodrigues De Sa Martinez

Re: Duda con obligatorio 2

de Camilo Joaquin Mariño Cabrera -
Hola Joan,

Las imágenes que vas a leer y escribir pueden estar en cualquier directorio, no es necesario que estén en la misma carpeta. 

Saludos,
Camilo
En respuesta a Camilo Joaquin Mariño Cabrera

Re: Duda con obligatorio 2

de Joan Francisco Rodrigues De Sa Martinez -
Disculpa, no logro comprender bien entonces cómo hacer la ruta de imagen.
A modo de ejemplo:
Si trabajo en un directorio llamado “obligatorio2” donde tengo todos los archivos .c y demás.
Si las imágenes las tengo en una carpeta en el escritorio llamada “imágenes”

Sería correcto que la ruta imagen sea ”~Desktop/imágenes/ Lagartija_plano.ppm”, es decir la ruta que  le pasaría ?

Saludos.
En respuesta a Joan Francisco Rodrigues De Sa Martinez

Re: Duda con obligatorio 2

de Camilo Joaquin Mariño Cabrera -
Lo correcto seria "~/Desktop/imágenes/ Lagartija_plano.ppm" (te falto la "/" entre "~" y la "D").

Saludos.
En respuesta a Camilo Joaquin Mariño Cabrera

Re: Duda con obligatorio 2

de Joan Francisco Rodrigues De Sa Martinez -
Gracias por la respuesta.

Tenes razón, me faltaba el "/" antes de la D, de todos modos no me queda muy claro el tema ruta de imagen.
Personalmente las funciones las testeaba con imágenes que ya estaban en el mismo directorio de trabajo para probar el funcionamiento de las funciones, a modo de ejemplo, en mi carpeta ya estaba " Lagartija_plano.ppm" entonces al hacer fopen ( Lagartija_plano.ppm) ya accedía al archivo de la imagen.

Ahora, respecto al tema ruta, si tengo una ruta "~/Desktop/imágenes/ Lagartija_plano.ppm"
¿Debería hacer fopen() para cada directorio?
Tipo fopen(Desktop) , fopen(imagenes).......
En caso de hacerlo así, deberíamos saber el nombre de los directorios donde estarán las imágenes, ¿no?

También se me ocurre que como es la Maquina virtual, quizá corresponde poner todo "pie@pie-virtualbox:~/Desktop/imágenes/ Lagartija_plano.ppm" pero al probar no funciona.

Saludos.
En respuesta a Joan Francisco Rodrigues De Sa Martinez

Re: Duda con obligatorio 2

de Leopoldo Agorio -
Joan, creo que te estás complicando y nos cuesta terminar de entender tu razonamiento.
Varias puntualizaciones:
1) fopen requiere la ruta al archivo a abrir, y retorna un puntero a archivo que después utilizan las otras funciones de lectura y escritura.
2) como discutían con camilo, la ruta para el archivo en tu escritorio es "~/Desktop/imágenes/ Lagartija_plano.ppm"
3) notá que si definieras una variable
char path[] = "~/Desktop/imágenes/ Lagartija_plano.ppm";
podrías hacer la llamada a fopen por medio de
fopen(path, "r");
4) Ustedes están desarrollando una biblioteca con una interfaz de usuario. Esto es especialmente importante porque la ruta no es algo grabado a fuego dentro del código, sino que el usuario por línea de comando es el que pasa la ruta al archivo. Si el usuario pasa "~/Desktop/imágenes/ Lagartija_plano.ppm", llegará al archivo de tu escritorio. Si pasa "Lagartija_plano.ppm" y tiene dicha imagen en la misma carpeta que el ejecutable, funcionará correctamente, y si pasa "milanesa.napo" el archivo será inválido y el programa terminará en error.

Espero esto te ayude a clarificar un poco, y como complemento te dejo el tutorialpoints de la funcion fopen()
https://www.tutorialspoint.com/c_standard_library/c_function_fopen.htm