ue4字符串 区别 文本_[UE4] 虚幻4学习UE4中的字符串转换

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

//....

some function

{

std::string TestString = "Happy";

FString HappyString(TestString.c_str());

}

FString to std::string

#include

//....

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 (stringto 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

FArrayReaderPtr to FString

uint8 data[512];

FMemory::Memzero(data,512);

FMemory::Memcpy(data, ArrayReaderPtr->GetData(), ArrayReaderPtr->Num());

FString str= ((const char*)data);

Array to FString

TArraycontent;

...const std::string cstr(reinterpret_cast(content.GetData()), content.Num());

FString frameAsFString=cstr.c_str();

UE_LOG(VRSLog, Warning, TEXT("%s"), *frameAsFString);

FString to char *  TCHAR_TO_ANSI()

int BP_GetColumnIndex(intresultSet, FString columnName)

{return GetColumnIndex(resultSet, TCHAR_TO_ANSI(*columnName));

}int GetColumnIndex(int iResult, const char*columnName)

{

}

FString to TCHAR *

int BP_GetColumnIndex(intresultSet, FString columnName)

{return GetColumnIndex(resultSet, *columnName);

}int GetColumnIndex(int iResult, const TCHAR*columnName)

{

}

FString To Array

// 简洁用法

FString JsonStr;

TArraycontent;

content.SetNum(JsonStr.Len());

memcpy(content.GetData(), TCHAR_TO_ANSI(*JsonStr), JsonStr.Len());

FString StrData;const TCHAR* StrPtr = *StrData;

FTCHARToUTF8 UTF8String(StrPtr);

int32 CTXSize=UTF8String.Length();

TArrayURLData;

URLData.SetNum(CTXSize);

memcpy(URLData.GetData(), UTF8String.Get(), CTXSize);

FString To FText

FString Str = TEXT("str");

FText Text= FText::FromString(Str);

FText To FString

FString Name = NameDesc->GetText().ToString();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值