Y a-t-il des limites de longueur de chemin de fichier dans NTFS?
Pourquoi ne puis-je créer une profonde chemin dont les caractères dans le chemin d'accès est de plus de 255 dans le Système de Fichiers NTFS?
Il semble qu'une des limites de FAT32, mais existent aussi en NTFS? Quelqu'un peut-il fournir certains documents?
Merci Beaucoup!
source d'informationauteur user25749
Vous devez vous connecter pour publier un commentaire.
L'260 limitation de caractère n'est pas une limitation du système de fichiers, mais de l'API Win32. Win32 définit MAX_PATH 260 qui est ce que l'API utilise pour vérifier la longueur de la trajectoire passée dans des fonctions comme FileCreate, FileOpen, etc. (qui sont utilisés par les .NETS de la BCL).
Cependant, vous pouvez contourner le Win32 règles et de créer des chemins d'accès jusqu'à 32K caractères. Fondamentalement, vous devez utiliser le "\\?\C:\MyReallyLongPath\File.txt" syntaxe qui vous pouvez ne pas avoir vu avant. Dernière, j'ai vérifié, le Fichier et FileInfo classes .NET vous a empêché de l'utilisation de ce type de chemin, mais vous pouvez certainement le faire à partir de C/C++. Voici un lien pour plus d'info.
http://msdn.microsoft.com/en-us/library/aa365247(SV.85).aspx
Cité d'après wikipedia
http://en.wikipedia.org/wiki/NTFS
Doc. Vous devez certainement être en mesure de créer plus filepaths de 255 octets, à condition que chaque élément de tracé est en vertu de cette. Cependant, vous devez utiliser l'Unicode (W) versions de l'accès au fichier des appels pour obtenir ce comportement, si vous êtes à l'aide de l'ANSI (A) octet des interfaces telles que celles utilisées par stdio, vous serez coincé avec les limites de l'ancien pré-Unicode chemin d'accès de l'interface.