一直想着能通过现成的typeid.name()函数直接获得我中文类的名字,可是却一直得到的乱码,网上搜索了好久也没有答案,最后终于在我不懈寻找下找到了解决方法。 最后发现是文字编码不同的原因,储存在代码中的编码方式,和通过cout输出出来的文字编码方式不同 这个我也不太懂,于是从网上找了许多编码方式转换的函数。试了好多不行,不过最后还是让我试到了。
char* U2G(const char* utf8) 转载自:https://www.cnblogs.com/babietongtianta/p/3143900.html 不过注意,原文章中也提到了,使用过后要及时删除字符串指针。
于是就可以通过U2G(typeid(*this).name() + 6);得到了此类的中文名称。 那个+6是为了避去typeid前面不必要类型说明。只获得名称部分. |
/1
|手机版|免责声明|本站介绍|工控课堂
( 沪ICP备20008691号-1 )
GMT+8, 2025-12-23 04:50 , Processed in 0.056868 second(s), 23 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.