UE4 字符串的转换

创建Fstring:

  FString TestHUDString = FString(TEXT("This is my test FString."));

FString,FName,FText:

UE4 字符串的转换

设置字符串变量文字时应使用 TEXT() 宏。如未指定 TEXT() 宏,将使用 ANSI 对文字进行编码,会导致支持字符高度受限。传入 FString 的 ANSI 文字需要完成到 TCHAR 的转换(本地万国码编码),以便更高效地使用 TEXT()。

可以用TEXT()方法将char转换成wchar_t
例如: wchar_t appName[5]=TEXT("test");

TCHAR:

  因为C++支持两种字符串,即常规的ANSI编码(使用""包裹)和Unicode编码(使用L""包裹),这样对应的就有了两套字符串处理函数,比如:strlen和wcslen,分别用于处理两种字符串。
       微软将这两套字符集及其操作进行了统一,通过条件编译(通过_UNICODE和UNICODE宏)控制实际使用的字符集,这样就有了_T("")这样的字符串,对应的就有了_tcslen这样的函数
  为了存储这样的通用字符,就有了TCHAR:
  当没有定义_UNICODE宏时,TCHAR = char,_tcslen =strlen
  当定义了_UNICODE宏时,TCHAR = wchar_t , _tcslen = wcslen[1]
  当我们定义了UNICODE宏,就相当于告诉了编译器:我准备采用UNICODE版本。这个时候,TCHAR就会摇身一变,变成了wchar_t。而未定义UNICODE宏时,TCHAR摇身一变,变成了unsignedchar。这样就可以很好的切换宽窄字符集。
  tchar可用于双字节字符串,使程序可以用于中日韩等国 语言文字处理、显示。使编程方法简化。

 UE4 字符串的转换

FString to char*:

TCHAR_TO_ANSI();注意:使用这个宏转换的指针是个局部变量,会在作用域外销毁,所以在给函数传参时使用这个宏转换即可。如:LIVEROOM::StopPlayingStream(TCHAR_TO_ANSI(*m_Signal->m_StudentPositiveStreamID));

 

原文链接: https://www.cnblogs.com/litmin/p/7491336.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    UE4 字符串的转换

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/262425

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 下午3:08
下一篇 2023年2月14日 下午3:10

相关推荐