[code]ruta_absoluta = "/home/<tu_usuario>/Escritorio/fichero_prueba.txt"
Puedes ver la ruta absoluta en la que te encuentras en la terminal con el comando <pwd>.
No sé por qué mi mensaje empieza con una etiqueta de <code> que no puedo quitar... Este párrafo debería ir lo primero, pero para que no se confunda con un <code> lo dejo aquí...
Primero el tema de las rutas. El sistema de archivos de Linux "cuelga" de la raíz (root) /. Podemos referirnos a un fichero usando una ruta absoluta o una ruta relativa:
- Ruta absoluta: se especifica desde la raíz hasta el fichero que queremos hacer referencia.
AQUÍ DEBERÍA IR EL PRIMER TROZO DE CÓDIGO QUE SE VE
- Ruta relativa: se especifica desde el punto en el que te encuentras.
En este caso puedes usar cosas como el punto (.) que referencia al lugar actual en el que te encuentras o los dos puntos (..) que referencia al directorio anterior al actual.
// si estamos en /home/<tu_usuario>
ruta_relativa = "./fichero_prueba.txt" // mismo fichero que en el ejemplo anterior
// el punto se puede obviar si se quita tambien la barra diagonal
ruta_relativa = "fichero_prueba.txt"
// si pones la barra diagonal y no pones el punto, haces referencia a la raíz, entonces tendrás un problema
// si buscamos un fichero que esta en una carpeta que esta en Documentos y nosotros estamos en Escritorio seria:
ruta = "../Documentos/fichero.txt"
// dos puntos para volver para atras porque estabamos en Escritorio y luego ya entramos en Documentos
La dirección "/home/<tu_usuario> se puede abreviar con ~ (alt gr + 4)...
ruta1 = "/home/<tu_usuario>/Escritorio/Carpeta1/prueba.txt"
ruta2 = "~/Escritorio/Carpeta1/prueba.txt"
Puedes obtener más información buscando rutas de archivos en Linux o rutas relativas y absolutas. Y también puedes estudiar todo el sistema de archivos y poder localizar algunos de los directorios fundamentales del sistema y donde se encuentran. Suerte
[/code]
1) ¿Están bién escritas las rutas en el script?
Si estás ejecutando el programa desde tu home (~) sí. En otro caso no, si usas una ruta relativa tienes que saber desde donde lo estás ejecutando para hacer bien la referencia. Si quieres que funcione desde cualquier sitio, usa una ruta absoluta (usando ~ te ahorras un trozo). De todos modos, por comodidad cuando sabes que todo se va a mover en conjunto o que no se va a mover, se suelen usar rutas relativas por comodidad.
2) ¿Tengo que especificar en el terminal la ruta donde está el Fichero_Origen?
Siempre. Otra cosa es que si tanto el fichero como el ejecutable están en el mismo lugar, basta con el nombre del fichero, pero porque esa es su ruta relativa. ACLARO: Más que "donde esté el ejecutable" es "desde donde ejecutes el programa en la terminal".
3) ¿He de usar alguna librería específica para trabajar con directorios?
Más que "para trabajar con directorios" es "para trabajar con ficheros" y has de incluir la librería <fstream> que el mismo nombre lo dice <file> + <stream>.