【发布时间】:2012-07-12 07:59:41
【问题描述】:
我目前正在使用 MSVS 2010 将代码从 stlport 5.1.3 移植到 stl。我遇到了一个问题,希望有人可以帮助我。
代码中的某处是:
HANDLE lHandle = CreateFileW(...);
ifstream lStream( lHandle );
// more job here...
这是使用 stlport 构建的,因为 basic_ifstream 有一个 cTor,它采用 void*。但标准 stl 没有。我应该写这样的东西:
ifstream lStream( /*FileName*/ );
...但我的文件名是 wchar_t *。 ifstream cTor 只需要 char *...
你知道解决方法吗?
提前致谢,
多米尼克
【问题讨论】:
-
请注意,ofstream 也是如此......
-
我认为大多数 STL 类都有宽字符变体;在这种情况下,wifstream 有一个接受 wchar_t* 的 ctor。
-
你是对的。 VS2005版本好像不是这样……