1
如問題所述,什麼是合適的模板函數將wstring轉換爲const char *?我的程序完全是用Unicode編寫的,然而,SQlite需要const char *來完成大部分功能。函數將wstring轉換爲常量字符*爲SQlite
我在msdn上找到了這樣做的方法,在這裏:http://msdn.microsoft.com/en-us/library/ms235631%28v=vs.80%29.aspx,其中name是一個wstring。
// Convert to a char*
size_t origsize = wcslen(name.c_str()) + 1;
const size_t newsize = 100;
size_t convertedChars = 0;
char nstring[newsize];
wcstombs_s(&convertedChars, nstring, origsize, name.c_str(), _TRUNCATE);
如果您正在編寫跨平臺的應用程序,請注意`wchar_t`不一定是UTF-16代碼單元。當然,它在Windows上。 – dan04 2011-01-08 19:07:54