[VS10]其目的是驱动文字串复制到* .DST从而wcscpy不接受TCHAR在目标变量
TCHAR *driveIDBase;
...
wcscpy_s (driveIDBase, MAX_PATH-3, L"\\\\?\\C:\\*");
这将产生错误
智能感知:没有实例重载函数“wcscpy_s”的匹配 参数列表
注意,ANSI版本的作品不够好:
strcpy_s (driveIDBase, MAX_PATH-3, "C:\\*");
假设我们尝试了明显的解决方法:
strcpy_s(driveIDBase,MAX_PATH-3, “\\。\ C:?\”);
我们可以通过调用(wchar_t *)驱动IDBase可靠吗?也就是说,WIN32_FIND_DATAW会将该字符串解释为“C:\”?
从MSDN也是什么意思?
的 “\\。\?” 前缀关闭路径字符串的自动扩展,
适合我的工作(VS2015)。 'TCHAR'取决于项目中的字符集选择。它是否设置为Unicode? –
@Bo它是MBCS。嘿,改为Unicode会在代码中产生大量“不兼容”的类型错误 - 我想看看这个。在这里有2015年的ISO。值得一试? –
VS2015在这里不会改变任何东西。根据该设置,“TCHAR”可以是“char”或“wchar_t”。如果你编写新的软件,你可以使用wchar_t并跳过TCHAR thingy。这是为了简化为Windows 95和Windows NT编写代码而引入的。不是我们现在做的事情。 –