#qt
#qt
Вопрос:
Используя следующий код, я мог бы создать каталог с именем «….;.a» , но такие имена недопустимы в оконных системах.
QDir dir(some_folder());
QString invalid_folder = "....;.a";
bool ret = dir.mkdir(invalid_folder);
Ответ №1:
Существует разница между именами каталогов, которые Windows «поддерживает» (и позволяет создавать с помощью проводника), и теми, которые фактически поддерживаются файловой системой.
Например, если вы попытаетесь создать имя, начинающееся с .
, Explorer не разрешит этого; но вы можете программно создавать такие имена, и многие программы это делают (особенно те, которые также работают с вариантами * nix).
Ответ №2:
Для имен файлов можно использовать не следующие символы:
< (less than)
> (greater than)
: (colon)
" (double quote)
/ (forward slash)
(backslash)
| (vertical bar or pipe)
? (question mark)
* (asterisk)
Integer value zero, sometimes referred to as the ASCII NUL character.
Characters whose integer representations are in the range from 1 through 31, except for alternate data streams where these characters are allowed. For more information about file streams, see File Streams.
Любой другой символ, который не допускается целевой файловой системой.
Более подробную информацию вы можете найти: здесь