Unreal Engine4 UE4中的字符串转换FString to FName Int32 Float

字符串转化


  1. FString to FName
  2. std::string to FString
  3. FString and FCString Overview
  4. FString to Integer
  5. FString to Float
  6. Float/Integer to FString
  7. UE4 C++ Source Header References

All the header files I refer to in this tutorial are found in

your UE4 install directory  / Engine / Source

you will probably want to do a search for them from this point :)

Converting FString to FNames

Say we have

FString TheString = "UE4_C++_IS_Awesome";

To convert this to an FName you do:

FName ConvertedFString = FName(*TheString);

std::string to FString

#include <string>
 
//....
 
some function
{
  std::string TestString = "Happy"; 
  FString HappyString(TestString.c_str());
}

FString to std::string

#include <string>
 
//....
FString UE4Str = "Flowers";
std::string MyStdString(TCHAR_TO_UTF8(*UE4Str));

FCString Overview

Converting FString to Numbers

The * operator on FStrings returns their TCHAR* data which is what FCString functions use.

If you cant find the function you want in FStrings (UnrealString.h) then you should check out the FCString functions (CString.h)

I show how to convert from FString to FCString below:

Say we have

FString TheString = "123.021";

FString to Integer

int32 MyShinyNewInt = FCString::Atoi(*TheString);

FString to Float

float MyShinyNewFloat = FCString::Atof(*TheString);


Note that Atoi and Atof are static functions, so you use the syntax FCString::TheFunction to call it :)


Float/Integer to FString

FString NewString = FString::FromInt(YourInt);
 
FString VeryCleanString = FString::SanitizeFloat(YourFloat);

Static functions in the UnrealString.h :)

UE4 Source Header References

CString.h
UnrealString.h
NameTypes.h

See CString.h for more details and other functions like

atoi64 (string to int64)
Atod	(string to double precision float)


For a great deal of helpful functions you will also want to look at

UnrealString.h for direct manipulation of FStrings!


For more info on FNames check out
 NameTypes.h

Enjoy!

------------------------------------------------------------------------------

FArrayReaderPtr to FString

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. uint8 data[512];  
  2. FMemory::Memzero(data, 512);  
  3.   
  4. FMemory::Memcpy(data, ArrayReaderPtr->GetData(), ArrayReaderPtr->Num());  
  5. FString str = ((const char*)data);  

Array<uint8> to FString

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. TArray<uint8> content;  
  2. ...  
  3. const std::string cstr(reinterpret_cast<const char*>(content.GetData()), content.Num());  
  4. FString frameAsFString = cstr.c_str();  
  5. UE_LOG(VRSLog, Warning, TEXT("%s"), *frameAsFString);  


FString to char *  TCHAR_TO_ANSI()

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. int BP_GetColumnIndex(int resultSet, FString columnName)  
  2. {  
  3.     return GetColumnIndex(resultSet, TCHAR_TO_ANSI(*columnName));  
  4. }  
  5.     
  6. int GetColumnIndex(int iResult, const char* columnName)  
  7. {  
  8. }  



FString to TCHAR *

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. int BP_GetColumnIndex(int resultSet, FString columnName)  
  2. {  
  3.     return GetColumnIndex(resultSet, *columnName);  
  4. }  
  5.     
  6. int GetColumnIndex(int iResult, const TCHAR* columnName)  
  7. {  
  8. }  
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值