2011-04-28 64 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