none
Win32 API: Длина MAX_PATH для unicode-функций. RRS feed

  • Вопрос

  • Добрый день.

    Если используется юникод-функция, то длина MAX_PATH так и остаётся 260?

    Конкретно, у меня вопрос по api-функции "FindFirstFileW".

    В этой функции есть структура WIN32_FIND_DATA и параметр cFileName.

    Я использую короткие имена, а не имена длинной 32 тыс. символов.

    Программирую не на C++, а на другом языке, куда пытаюсь внедрить функцию "FindFirstFileW".

    13 июля 2019 г. 15:28

Ответы

Все ответы

  • Такая информация легко находиться тут. Что же вы за язык программирования используете, что в нем нет стандартных функций по работе с файловой системой?
    13 июля 2019 г. 19:25
  • Liliya Muray, ваш ответ мне не помог.
    14 июля 2019 г. 6:11
  • В самом языке C++ MAX_PATH так и остаётся 260? Этот вопрос в продолжение первого сообщения.
    14 июля 2019 г. 6:14
  • Liliya Muray, ваш ответ мне не помог.
    Вы читали по ссылке?! Там есть про длину ссылки и для ANSI и для Unicode. Но сами вы до сих пор не ответили, какую среду разработки используете и какой язык или связку языков.
    14 июля 2019 г. 6:37
  • MAX_PATH - это просто константа (макрос в терминах С++), которая обозначает максимальную длину пути к файлу в некоторых ситуациях. Ее значение не зависит от того, какую функцию вызывать. 

    Что касается конкретных деталей, когда ограничение MAX_PATH применимо,а когда нет, то механика слишком сложна, чтобы пытаться объяснить ее в рамках сообщения на форуме. Читайте вот этот раздел документации: https://docs.microsoft.com/ru-ru/windows/win32/fileio/naming-a-file#maximum-path-length-limitation

    14 июля 2019 г. 9:08
  • В примерах в интернете используется байтовый массив. Я его стал использовать и возникли проблемы.

    Но также в интернете есть пример, где используется тип данных String с заданным количеством символов. Вот его и надо использовать, а не байтовый массив.

    Я решил попробовать использовать api-функцию, т.к. она сообщает, какая проблема произошла. А в моём языке программирования функция даёт только пару номеров ошибок.

    14 июля 2019 г. 14:39
  • В примерах в интернете используется байтовый массив. Я его стал использовать и возникли проблемы.

    Но также в интернете есть пример, где используется тип данных String с заданным количеством символов. Вот его и надо использовать, а не байтовый массив.

    Я решил попробовать использовать api-функцию, т.к. она сообщает, какая проблема произошла. А в моём языке программирования функция даёт только пару номеров ошибок.

    Напишите пожалуйста название этого "языка".

    Alexandr_Smirnoff

    14 июля 2019 г. 15:34
  • Посмотрите вот эту тему (будьте внимательны - ссылка на сторонний ресурс): https://stackoverflow.com/questions/15694538/why-findfirstfilew-always-return-1

    Также хочу порекомендовать для изучения книгу "Win32 API и VISUAL BASIC для профессионалов" (Д. Эпплман)

     

    Alexandr_Smirnoff

    14 июля 2019 г. 18:03
  • Язык VBA.

    Приветствую.

    Простите за оффтоп...

    Уважаемый MSDN Member, прошу вас не плодить ваши темы с идентичными вопросами.

    Вы ни на один вопрос заданный вам, толком не дали ответ.

    Повторю:

    Что и чем вы делаете и что в итоге хотите получить?

    Допустим VBA, не самый лучший выбор... Если требуется написать дополнение для Office используйте c# и VS.


    Я не волшебник, я только учусь. MCTS, CCNA. Если Вам помог чей-либо ответ, пожалуйста, не забывайте нажать на кнопку "Отметить как ответ" или проголосовать за "полезное сообщение". Disclaimer: Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции работодателя. Вся информация предоставляется как есть, без каких-либо на то гарантий. Блог IT Инженера, Яндекс Дзен, YouTube, GitHub.

    17 июля 2019 г. 17:54
    Модератор