Với hệ thống tệp cifs được gắn /network/cifs
không phân biệt chữ hoa chữ thường, làm thế nào để tôi có được đường dẫn phân biệt chữ hoa chữ thường bằng C? Ví dụ: fs có tệp /network/cfis/Adena/t.txt
. Với /network/cfis/AdEnA/T.txt
(giải quyết đúng), tôi muốn /network/cfis/Adena/t.txt
.Làm cách nào để có được đường dẫn nhạy cảm trên Linux mà không cần lặp lại thư mục?
Tôi biết một cách để làm điều đó là đệ quy lặp qua đường dẫn, khớp với chúng trong mọi trường hợp thấp hơn và nhận được trường hợp thực tế được trả về bằng phép lặp thư mục. Tuy nhiên, điều này liên quan đến rất nhiều syscalls mà tôi không muốn làm.
Thay đổi tùy chọn gắn kết không phải là giải pháp.
Nếu điều này là không thể, có thể xác định xem đường dẫn có thuộc hệ thống tệp phân biệt chữ hoa chữ thường không? Bằng cách này tôi có thể tránh làm lặp lại thư mục đệ quy trừ khi được yêu cầu.
Đừng bạn có nghĩa là 'nếu (NULL == GetCurrentDir (đệm, FILENAME_MAX))' – Dan
Tôi nghĩ rằng bạn có nghĩa là để sử dụng vĩ mô 'GetCurrentDir' thay vì' getcwd' trong mã? –
Điều gì xảy ra nếu đường dẫn đi qua không phải là thư mục hiện tại? – RedX