UE4 C++:基本数据类型、字符串处理及转换

本文详细介绍了虚幻引擎4(UE4)中基本字符串类型,包括TCHAR的ANSI和Unicode封装,FName的快速标识符比较,以及FText的文本本地化功能。同时,对FString的初始化、比较、拼接、分割和转换进行了深入讲解,提供了丰富的示例代码,帮助开发者更好地理解和运用UE4的字符串处理机制。

目录

基本数据类型

TCHAR:UE4通过对char和wchar_t的封装

FNames:常用作标识符等不变的字符串

使用

FText:静态字符串,处理文本本地化、UI 文本显示等

使用

FString

初始化

比较

拼接

分割

FString 与其他类型字符串转换


基本数据类型

TCHAR:UE4通过对char和wchar_t的封装

  • TCHAR就是UE4通过对char和wchar_t的封装

    • char ANSI编码
    • wchar_t 宽字符的Unicode编码
  • 使用 TEXT() 宏包裹作为字面值

TCHAR* TCharString = TEXT("Hello, World!");

	// 引擎字符串(TCHAR*) -> ANSI字符串(char*)
	char* CharString = TCHAR_TO_ANSI(TCharString);

	// 引擎字符串(TCHAR*) -> std::string
	std::string str = TCHAR_TO_UTF8(TCharString);

	// 引擎字符串(TCHAR*) -> wchar_t*
	wchar_t* WCharString = TCHAR_TO_WCHAR(TCharString);

	// ANSI字符串(char*) -> 引擎字符串(TCHAR*)
	TCHAR* TCharString1 = ANSI_TO_TCHAR(CharString);

	// wchar_t* -> 引擎字符串(TCHAR*)
	TCHAR* TCharString2 = UTF8_TO_TCHAR(WCharString);
	TCHAR* TCharString3 = WCHAR_TO_TCHAR(WCharString);

FNames:常用作标识符等不变的字符串

常用作标识符等不变的字符串(如:资源路径/资源文件类型/骨骼名称/表格行名等)

  • 比较字符串操作非常快
  • 即使多个相同的字符串,也只在内存存储一份副本,避免了冗余的内存分配操作
  • 不区分大小写

使用

  • 初始化

    FName TestHUDName = FName(TEXT("ThisIsMyTestFName"));
    
  • 比较

    CompareFloat = TestFName.Compare(OtherFName);
    
  • 搜索

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值