Dado un sistema de archivos cifs montado /network/cifs
que no distingue entre mayúsculas y minúsculas, ¿cómo obtengo la ruta sensible a mayúsculas y minúsculas utilizando C?¿Cómo puedo obtener una ruta sensible a mayúsculas y minúsculas en Linux sin iteración de directorios?
Por ejemplo, el fs tiene un archivo /network/cfis/Adena/t.txt
. Dado /network/cfis/AdEnA/T.txt
(que se resuelve correctamente), quiero /network/cfis/Adena/t.txt
.
Sé que una forma de hacerlo es iterar recursivamente sobre la ruta, hacer coincidir todas las minúsculas y obtener el caso real devuelto por la iteración del directorio. Sin embargo, esto implica una gran cantidad de llamadas de sistema que preferiría no hacer.
Cambiar las opciones de montaje no es una solución.
Si esto no es posible, ¿es posible determinar si hay una ruta en un sistema de archivos que no distingue entre mayúsculas y minúsculas? De esta forma podría evitar hacer iteraciones de directorios recursivas a menos que sea necesario.
No quiere decir 'si (== NULL GetCurrentDir (tampón, FILENAME_MAX))' – Dan
Creo que quisiste usar el macro 'GetCurrentDir' en lugar de' getcwd' en el código. –
¿Qué pasa si la ruta aprobada no es el directorio actual? – RedX