문제

NTFS 파일 시스템에서 경로의 캐릭터가 255 개 이상인 깊은 경로를 만들 수없는 이유는 무엇입니까? 그것은 FAT32의 한계처럼 보이지만 NTF에도 존재합니까? 누구든지 문서를 제공 할 수 있습니까?

많은 감사합니다!

도움이 되었습니까?

해결책

260 문자 제한은 파일 시스템의 제한이 아니라 Win32 API의 제한입니다. Win32는 Max_Path를 260으로 정의합니다. 이는 API가 FileCreate, FileOpen 등과 같은 함수로 전달 된 경로의 길이를 확인하기 위해 사용하는 260으로 정의합니다 (BCL에서 .NET에서 사용).

그러나 Win32 규칙을 우회하고 최대 32k 문자의 경로를 만들 수 있습니다. 기본적으로 이전에는 보지 못했던 "? c : myreallylongpath file.txt"구문을 사용해야합니다. 마지막으로 확인한 .NET의 파일 및 FileInfo 클래스를 사용하면이 유형의 경로를 사용하지 못했지만 C/C ++에서 확실히 수행 할 수 있습니다. 다음은 자세한 정보를위한 링크입니다.

http://msdn.microsoft.com/en-us/library/aa365247(vs.85).aspx

다른 팁

Wikipedia에서 인용했습니다

파일 이름은 255 UTF-16 코드 단어로 제한됩니다. 특정 이름은 Volume Root 디렉토리에 예약되어 있으며 파일에 사용할 수 없습니다. 이들은 다음과 같습니다. $ MFT, $ MFTMIRR, $ logfile, $ Volume, $ attrdef ,. (dot), $ bitmap, $ boot, $ badclus, $ secure, $ upcase 및 $ 확장; [3]. (DOT) 및 $ 확장은 둘 다 디렉토리입니다. 다른 것들은 파일입니다. NT 커널은 전체 경로를 32,767 UTF-16 코드 단어로 제한합니다.

http://en.wikipedia.org/wiki/ntfs

문서. 각 개별 경로 구성 요소가 그 아래에있는 한 255 바이트보다 더 긴 파일 패스를 만들 수 있어야합니다. 그러나이 동작을 얻으려면 파일 액세스 호출의 유니 코드 (W) 버전을 사용해야합니다. STDIO에서 사용하는 것과 같은 ANSI (a) 바이트 기반 인터페이스를 사용하는 경우 이전 전 노니 코드 경로 인터페이스의 한계가 붙어 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top