在C++中,我可以使用wchar_t**初始化vector <wstring>,如下例所示:
#include <windows.h>
#include <string>
#include <vector>
#include <cwchar>
using namespace std;
int main() {
int argc;
wchar_t** const args = CommandLineToArgvW(GetCommandLineW(), &argc);
if (args) {
const vector<wstring> argv(args, args + argc);
LocalFree(args);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,有没有办法在D 2.0中使用wchar**初始化wstring []?
我可以通过这种方式将wchar**的内容添加到wstring []:
import std.c.windows.windows;
import std.c.wcharh;
extern(Windows) {
wchar* GetCommandLineW();
wchar** CommandLineToArgvW(wchar*, int*);
void* LocalFree(void*);
}
void main() {
int argc;
wchar** args = CommandLineToArgvW(GetCommandLineW(), &argc);
if (args) {
wstring[] argv;
for (size_t i = 0; i < argc; ++i) { …Run Code Online (Sandbox Code Playgroud) d ×1