Открытие длинных имен файлов в Windows с помощью fopen с C - PullRequest
1 голос
/ 26 июля 2011

У меня возникли проблемы с использованием fopen для открытия файлов, путь которых превышает 260 символов, изначально поддерживаемых Windows.

Я узнал о префиксе '\\? \' (Без кавычек), который мне нуженпоставить перед путем, чтобы иметь возможность обрабатывать файл.

Мой вопрос: это все еще действует в сочетании с fopen?У меня все еще проблемы с открытием файлов, но я не нахожу информацию об этом.Мои пути выглядят так (без кавычек):

'\\? \ C: \ Deposit \ Source \ Here_Comes_Now_A_List_Of_Many_Subdirs_And_A_Long_File_Name'

Я не могу использовать Windows API из-за требования написатькроссплатформенный инструмент.

1 Ответ

0 голосов
/ 26 июля 2011

Вы можете обойти это ограничение кросс-платформенным способом с условной компиляцией:

#ifdef WIN32
     myFile = _wfopen( ... )
#else
     myFile = fopen( ... )
#endif

Я думаю, что любой нетривиальный кроссплатформенный проект должен где-то делать это, или же использовать библиотеку (например, SDL).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...