C++:将L""字符串分配给WCHAR []?

Nic*_*ner 4 c++ string

我有一个WCHAR []:

WCHAR foo[200];
Run Code Online (Sandbox Code Playgroud)

我想将值复制到其中:

if (condition)
{
    foo = L"bar";
}
else 
{
   foo = L"odp";
}
Run Code Online (Sandbox Code Playgroud)

做这个的最好方式是什么?

ava*_*kar 8

wcscpy虽然最好的东西是使用std::wstring而不是.

std::wstring foo;
if (condition)
    foo = L"bar";
else 
    foo = L"odp";
Run Code Online (Sandbox Code Playgroud)

或者如果你坚持使用wcscpy:

WCHAR foo[200];
if (condition)
    wcscpy(foo, L"bar");
else 
    wcscpy(foo, L"odp");
Run Code Online (Sandbox Code Playgroud)


R S*_*hko 1

根据您需要执行的操作,您可以更改 foo 的类型:

const WCHAR *foo;
if (condition)
{
    foo = L"bar";
}
else 
{
   foo = L"odp";
}
Run Code Online (Sandbox Code Playgroud)

如果不需要向 foo 添加更多数据,这很好。