2011-04-28 114 views
0

使用以下代碼我可以創建名稱爲「....;。a」的目錄,但這些名稱在Window系統上無效。QDir和無效的目錄名稱

QDir dir(some_folder()); 
QString invalid_folder = "....;.a"; 
bool ret = dir.mkdir(invalid_folder); 

回答

2

Windows「支持」(並允許您使用資源管理器創建)以及文件系統實際支持的目錄名稱之間存在差異。

例如,如果您嘗試創建一個以.開頭的名稱,Explorer將不會允許這樣做;但是你可以編程創建這樣的名字,並且許多程序(尤其是那些也在* nix變體上運行的程序)。

1

您可以使用文件名不是下列字符:

< (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. 

任何其他字符的目標文件系統不允許。

更多資訊,你可以找到:here