How to convert tchar pointer to char pointer
我想将 tchar* 转换为 char * 这可能吗?如果是的话怎么做。我使用 unicode 设置
你不能转换指针,你需要分配一个新的字符串是"char"而不是"wchar_t"
最优雅的方法是使用 ATL 转换宏,因为它会隐藏所有分配并调用其他注释中提到的函数
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #include #include void YourFunction() { TCHAR wszHelloTchar = _T("Hello!\ "); USES_CONVERSION; // a macro required once before using T2A() and other ATL macros // printf require a char* // T2A converts (if necessary) the TCHAR string to char printf( T2A( wszHelloTchar ) ); } |
我发现 wcstombs 非常适合做这种事情,