具有异常路径(如"C:\test\\file.txt"含义)的创建文件(...)

CreateFile(...) with abnormal path such as "C:test\file.txt" implications

本文关键字:txt 文件 含义 创建 file 异常 路径 test      更新时间:2023-10-16

当创建一个在路径中有两个反斜杠的文件时,会有任何不可预见的后果吗?

在这段代码中,文件创建得很好,但我想知道是否有任何副作用,我可能会看到这个文件的道路。

 HANDLE hFile = CreateFile(
    TEXT("C:\test\\file.txt"),                
    GENERIC_WRITE,          
    0,                      
    NULL,                   
    CREATE_NEW,             
    FILE_ATTRIBUTE_NORMAL,  
    NULL
);             

No。Windows将根据您提供的字符串生成一个规范路径。这包括解析相对路径(包括.的坍缩和..的展开)和坍缩冗余路径分隔符。

该文件将被命名为file.txt,并将位于C:驱动器的test下,就是这样。

据我所知,这实际上没有文档记录,这有点奇怪。

  • https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858%28v=vs.85%29.aspx?f=255& MSPPError = -2147217396
  • https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247 (v = vs.85) . aspx