日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UE4中的字符串转换

發布時間:2023/12/10 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UE4中的字符串转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

虛幻4學習---UE4中的字符串轉換(文章來自于UE4官方文檔)


String Conversions:?

FString To FName

FString To Int32

Float To FString

FArrayReaderPtr?To FString

TArray<uint8> To FString

FString To char * ?--- ?( ?TCHAR_TO_ANSI() ?)

FString To TCHAR *

FString To Array<uint8>

FString To FText?(新增)

FText?To?FString?(新增)

Overview

  • FString to FName
  • std::string to FString
  • FString and FCString Overview
  • FString to Integer
  • FString to Float
  • Float/Integer to FString
  • 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 plaincopy
  • uint8?data[512];??
  • FMemory::Memzero(data,?512);??
  • ??
  • FMemory::Memcpy(data,?ArrayReaderPtr->GetData(),?ArrayReaderPtr->Num());??
  • FString?str?=?((const?char*)data);??

  • Array<uint8> to FString

    [cpp] view plaincopy
  • TArray<uint8>?content;??
  • ...??
  • const?std::string?cstr(reinterpret_cast<const?char*>(content.GetData()),?content.Num());??
  • FString?frameAsFString?=?cstr.c_str();??
  • UE_LOG(VRSLog,?Warning,?TEXT("%s"),?*frameAsFString);??


  • FString to char * ?TCHAR_TO_ANSI()

    [cpp] view plaincopy
  • int?BP_GetColumnIndex(int?resultSet,?FString?columnName)??
  • {??
  • ????return?GetColumnIndex(resultSet,?TCHAR_TO_ANSI(*columnName));??
  • }??
  • ????
  • int?GetColumnIndex(int?iResult,?const?char*?columnName)??
  • {??
  • }??



  • FString to TCHAR *

    [cpp] view plaincopy
  • int?BP_GetColumnIndex(int?resultSet,?FString?columnName)??
  • {??
  • ????return?GetColumnIndex(resultSet,?*columnName);??
  • }??
  • ????
  • int?GetColumnIndex(int?iResult,?const?TCHAR*?columnName)??
  • {??
  • }??



  • FString To?Array<uint8>

    [cpp] view plaincopy
  • FString?StrData;??
  • const?TCHAR*?StrPtr?=?*StrData;??
  • FTCHARToUTF8?UTF8String(StrPtr);??
  • int32?CTXSize?=?UTF8String.Length();??
  • ??
  • TArray<uint8>?URLData;??
  • URLData.SetNum(CTXSize);??
  • memcpy(URLData.GetData(),?UTF8String.Get(),?CTXSize);??


  • FString To FText

    [cpp] view plaincopy
  • FString?Str?=?TEXT("str");??
  • FText?Text?=?FText::FromString(Str);??




  • FText?To?FString

    [cpp] view plaincopy
  • FString?Name?=?NameDesc->GetText().ToString();?
  • 總結

    以上是生活随笔為你收集整理的UE4中的字符串转换的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。