如何将窄的string
转换为宽的string
?
我试过这个方法:
string myName;
getline( cin , myName );
wstring printerName( L(myName) ); // error C3861: 'L': identifier not found
wchar_t* WprinterName = printerName.c_str(); // error C2440: 'initializing' : cannot convert from 'const wchar_t *' to 'wchar_t *'
但是我得到上面列出的错误。
为什么会出现这些错误?我该如何修复它们?
是否有任何其他方法可以将 narrow
字符串直接转换为 wide
字符串?
最佳答案
如果源是 ASCII 编码的,你可以这样做:
wstring printerName;
printerName.assign( myName.begin(), myName.end() );
关于c++ - 将窄字符串转换为宽字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6691555/