윈도우즈의 최대 경로 길이(MAX_PATH)에 대해서...

초보시절에 프로그래밍을 하다보면 문득 파일 길이는 어느정도 길이까지 할 수 있을까 궁금해할 수 있습니다. 하지만 이 궁금증은 쉽게 풀립니다. 자료가 많으니까요. 하지만 조금 더 나아가면 재미있는 고민을 할 수 있습니다. 파일 이름과 폴더 이름이 함께 들어있는 경로는 몇글자까지 컨트롤할 수 있을까...

이 포스팅은 윈도우즈 프로그래밍에서의 최대 경로에 대해서 다루고자 합니다.

WinDef.h 파일에 보면 MAX_PATH가 260으로 설정되어있는것을 확인할 수 있습니다. 이 길이를 폴더경로만의 길이(파일명은 제외한)로 알고계신분이 간혹 있는것 같습니다. 윈도우 탐색기에서 간단한 테스트를 해보시면 아시겠지만 전체 경로의 길이가 260인것을 확인할 수 있습니다. 이 260이란 길이 안에는 드라이브명("C:"), 폴더구분문자("\"), 파일확장자 구분문자("."), 널문자 모두 포함입니다.

예전엔 이게 윈도우즈의 버그로 작용해서, 탐색기가 죽는 현상이 발생했었는데, 현재 비스타에서 테스트해본결과 에러메시지가 잘 뜹니다. 테스트 방법은 새폴더를 하나 만드시고 폴더이름을 0123456789 를 26번 복사해서 넣어보세요. 아마 232문자만 폴더이름이 만들어질겁니다. 그리고 하위폴더로 새폴더를 만들려고하면 에러메시지가 뜹니다. 길이가 너무 길다는 메시지박스입니다. 하지만 파일은 만들어집니다. 텍스트파일을 만들어보세요.

아마 "1234567.TXT" 까지밖에 입력이 안될겁니다. 이것을 모두 조합해서 메모장에

C:\ + 폴더명 + \ + 1234567.TXT

를 입력해보세요. 총 259자의 길이입니다.

그리고 마지막 문자 한개가 비어있습니다. 이부분은 바로 널문자가 들어갈 부분입니다.

그러므로 윈도우에선 드라이브명, 폴더, 파일명, 널문자 모두 합쳐서 260자까지 만들 수 있습니다.
윈도우즈의 최대 경로 길이(MAX_PATH)에 대해서... 윈도우즈의 최대 경로 길이(MAX_PATH)에 대해서... Reviewed by Tae-seob Shin on 9월 30, 2018 Rating: 5

댓글 없음:

Powered by Blogger.