我在vs2008中编译一个测试代码,打开一个分区,没有问题!
测试通过后,我在vs2008里建立了一个QT工程,然后把测试代码嵌入里面,希望可以在图形界面中选择需要打开的分区,编译通过,但死活都是打开分区失败!
打开分区的代码如下:
_TCHAR volumePath[7];
_sntprintf(volumePath, 6, _T("\\\\.\\%c:"), volume);
volumePath[6] = _T('\0');
hVolume = CreateFile((LPCTSTR )volumePath, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL);
查找返回的错误代码显示的错误是:
刚开始的错误码是2:意思是找不到打开的文件
换了好几个分区来打开时变成了这个错误:@err,hr 0x0000007b 文件名、目录名或卷标语法不正确。 unsigned long
volumePath的值显示是:\\.\\C:
_TCHAR的大小是1
不知道qt对这种反斜杠的文件名:\\.\\C: 有没有敏感,以致打不开分区。
望知道错误的大侠指点