UE4-FString、FName、FText介绍

FString

  • FString类似C++ STL中的string,提供字符串插入,拼接,删改,比较,迭代遍历等常见字符串功能。

  • 默认是宽字符"TEXT()", 不允许使用多字符"char*"

TIPS:

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

  • FString是唯一允许操作修改字符串的字符串类(比如在字符串结尾再加个字符)。而FName和FText不可操作修改

  • 由于FString是可被修改的,当字符串进行搜索、对比等操作时,消耗比其他字符串类型更大

  • FString可以和数值类型相互转换,比如int,float,bool等。FVector,FRotator等也能转为FString。

//FString to std::string

std::string cstr(TCHAR_TO_UTF8(*UE4Str));

//std::string to FString

FString ue4Str = FString(cstr.c_str()));

  • FString转FName

TestHUDName = FName(*TestHUDString);

  • FString转FText

### 回答1: 在UE4中,可以使用以下代码将FString类型的文本转换为FName类型: ``` FName MyName = FName(*MyString); ``` 其中,MyString是要转换的FString类型的文本,MyName是转换后的FName类型。请注意,在将FString转换为FName时,需要使用*运算符将FString转换为const TCHAR*类型的指针。 ### 回答2: 在UE4中,将Text转化为Name需要经过以下步骤: 首先,在蓝图或C++代码中获取要转化的Text变量。Text变量可以是在编辑器中设置的,也可以是通过代码动态创建的。 接下来,使用UE4提供的转化函数将Text转化为FString类型。可以使用ToStr ### 回答3: 在Unreal Engine 4UE4)中,将一个Text转换为Name可以使用以下方法。首先,需要确保已经导入了相应的类库和头文件。然后,创建一个FText对象来存储文本内容。接下来,使用ToString()函数将FText对象转换为字符串,并将其存储在一个FString对象中。最后,使用FName构造函数将FString转换为FName。以下是一个示例代码: ```cpp #include "CoreMinimal.h" #include "Engine/EngineTypes.h" FName ConvertTextToName(const FText& Text) { // 将FText转换为FString FString String = Text.ToString(); // 将FString转换为FName FName Name(*String); return Name; } ``` 这样,你就可以调用这个函数,将一个FText对象转换为FName。例如: ```cpp FText MyText = FText::FromString("MyText"); FName MyName = ConvertTextToName(MyText); ``` 在这个例子中,文本"MyText"首先被转换为FText对象MyText,然后通过调用ConvertTextToName函数,将其转换为FName对象MyName。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值