Мне нужно надежное кроссплатформенное решение для чтения конкретного двоичного файла на C. Предположим, я хочу fopen () такой (возможно, большой) файл, выделить временный буфер, а затем fread () последовательность байтов
обновить мой SHA1_CTX и, наконец, закрыть мой ФАЙЛ, завершить работу с sha1 и продолжить. Совершенно тривиально, верно?
Но я сомневаюсь в одном: что если имя файла не ASCII?
Допустим, у меня будет:
/Users/me/Projects/my_file.bin
/home/me/файлы/работа/мой_файл.bin
С:\\我的檔案\\我的工作.bin
D:\\Folder?\\???.bin
Может ли fopen обрабатывать такие пути? Если нет, что я могу сделать? Я могу написать некоторый платформо-зависимый код или поискать кроссплатформенную библиотеку, но очень важно, чтобы мое приложение было как можно меньше, кроме того, оно написано на C, поэтому QT, Boost и т. Д. Не применимы .
Спасибо.