windows短路徑轉換成長路徑


參考: 

https://blog.csdn.net/wxqian25/article/details/43951281

https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getlongpathnamea

 

1 短路徑

短路徑名實在DOS下的命名規則
在DOS中,主文件名的長度不能超過8個字符
如果超過了8個 系統自動截取前6個字符,然后加上~1
如果前6個字符一樣了,就依次使用~2,~3
舉個例子,如果C盤目錄下有Program Files、Program Filess、Programme Files三個文件夾,他們的前6個字符都是progra。將他們按照字母順序排序:
Program Files
Program Filess
Programme Files
那么短路徑分別為:
progra~1
progra~2
progra~3

2 轉換函數

  GetLongPathNameW

  這個函數的第一個參數不區分大小寫

  不支持路徑中包含空格, 此時函數返回值是0 , getlasterror返回 ERROR_PATH_NOT_FOUND
  文件名中包含形如"~1"是合法的, 短路徑中包含帶"~1"文件名的路徑可以正常返回長路徑

 
        
 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM