Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.140.185.147] |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Добрый день. Вопрос не имеет отношения к C++, я использую другой язык программирования. У меня вопрос по Win32 API.
Как узнать, допустимое количество символов в полном имени папки или файла? Например, я сформировал полное имя для папки. С помощью какой api-функции я могу узнать, допустимая длина у этого полного имени или нет? При этом, функция CreateDirectory может создать папку, в полном имени которой будет много символов и вследствие этого папку нельзя будет удалить (например клавишей Delete). Т.е. функция CreateDirectory не понимает: допустимая длина в полном имени папки или нет. Тот же вопрос и для файла. Для папки и файла разное количество символов допустимо, поэтому здесь потребуется видимо другая api-функция. |
Сообщ.
#3
,
|
|
|
MAX_PATH для обычных путей.
И, кажется, 32кБ для UNC. |
Сообщ.
#4
,
|
|
|
MAX_PATH - это 259 символов.
Нельзя создать папку, у которой 259 символов - виндоус это не позволит. Попробуйте это сделать. Gonarh, какую api-функцию предлагают использовать по той ссылке, которую вы предложили? |
Сообщ.
#5
,
|
|
|
Цитата Korshi @ Нельзя создать папку, у которой 259 символов - виндоус это не позволит А, ну тогда к терапевту. Цитата Korshi @ Gonarh, какую api-функцию предлагают использовать по той ссылке, которую вы предложили? Ссылка для того и приведена, чтобы задающий вопрос ознакомился с ней. |
Сообщ.
#6
,
|
|
|
Цитата Korshi @ MAX_PATH - это 259 символов. Нельзя создать папку, у которой 259 символов - виндоус это не позволит. Попробуйте это сделать. Это несколько разные вещи. Path - это строка в общем случае из разных имён файлов. Существует, очевидно, ограничение размера имени файла. (директория - это тоже файл). Вроде бы ограничение на размер имени файла - 255 символов, но точно не уверен. Попробуй. |
Сообщ.
#7
,
|
|
|
ЫукпШ, я ищу win32 api функцию, которая мне это сообщит. Я передам функции полное имя папки или файла, а функция должна сообщить - допустимая длина у них или нет.
Или таких функций нет? |
Сообщ.
#8
,
|
|
|
Цитата Korshi @ ЫукпШ, я ищу win32 api функцию, которая мне это сообщит. Я передам функции полное имя папки или файла, а функция должна сообщить - допустимая длина у них или нет. Не знаю. Надо подумать. Если решишь проблему - расскажи, мне тоже интересно. |
Сообщ.
#9
,
|
|
|
ЫукпШ, хорошо, сообщу.
|
Сообщ.
#10
,
|
|
|
Цитата Korshi @ ЫукпШ, хорошо, сообщу. Скорее всего в WINAPI этого нет. Поскольку даже MAX_PATH задан константой в заголовочных файлах. В Сети можно найти: Значит можно покопаться в SDK на предмет поиска константы максимальной длины имени файла. |
Сообщ.
#11
,
|
|
|
MAX_PATH - это 259 символов.
|
Сообщ.
#12
,
|
|
|
Цитата Korshi @ MAX_PATH - это 259 символов. Это легко проверить. Посмотри в файле "WinDef.h" |
Сообщ.
#13
,
|
|
|
С помощью поиска в видоусе, не смог найти файл WinDef.h. Я на C++ не программирую.
|
Сообщ.
#14
,
|
|
|
Цитата Korshi @ С помощью поиска в видоусе, не смог найти файл WinDef.h. Я на C++ не программирую. Это заголовочный файл SDK для с/c++. Но это не так важно. --- Можно даже предполагать, откуда взялось ограничения на 255 символов длины имени. 255 - это максимальный код байта. Вероятно, где-то в служебной записи файла (переменной длины), величина поля имени задаётся байтом. |
Сообщ.
#15
,
|
|
|