반응형
문자열 클래스간 변환
변환 형식 | 변환 방법 |
FName → FString | TestString = TestName.ToString(); |
FName → FText | TestText = FText::FromName(TestName); |
FString → FName | TestName = FName(*TestString); // 손실 위험 있음. FName이 대소문자 구분 없음 |
FString → FText | TestText = FText::FromString(TestString); |
FText → FString | TestString = TestText.ToString(); // 안전하지 않음. 언어 변환시 손실 위험 때문 |
FText → FName | FText → FString -> FName // 직접 변환 없음 // 손실 위험 있음 |
FString으로 변환
변환 형식 | 변환 방법 |
float → FString | FString::SanitizeFloat(FloatVariable); FString::printf(TEXT("%f", FloatVariable)); |
int → FString | FString::FromInt(IntVariable); |
bool → FString | InBool ? TEXT("true") : TEXT("false"); |
FVector → FString | VectorVariable.ToString(); |
FVector2D → FString | Vector2DVariable.ToString(); |
FRotator → FString | RotatorVariable.ToString(); |
FLinearColor → FString | LinearColorVariable.ToString(); |
UObject → FString | (InObj != NULL) ? InObj->GetName() : FString(TEXT("None")); |
기타 변환
변환 형식 | 변환 방법 |
FString → float | float FloatVariable = FCString::Atof(*StringVariable); |
FString → int | int IntVariable = FCString::Atoi(*StringVariable); |
std::string → FString | FString StringVariable(StdString.c_str()); |
FString → std::string | std::string StdString(TCHAR_TO_UTF8(*StringVariable)); |
Enum → FName | EMyState State = EMyState::Two; UEnum* StateEnum = FindObject<UEnum>(ANY_PACKAGE, TEXT("EMyState"), true); FName NameVariable = StateEnum->GetNameByValue(static_cast<int64>(State)); |
Enum → FString | EMyState State = EMyState::Two; UEnum* StateEnum = FindObject<UEnum>(ANY_PACKAGE, TEXT("EMyState"), true); FString StringVariable = StateEnum->GetNameStringByValue(static_cast<int64>(State)); |
문자열을 다루는 것에 대한 설명은 다음 글을 참고해 주세요.
[게임 개발/Unreal Engine 기본] - [UE4] 문자열 다루기 - FName, FText, String
출처
https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/StringHandling/FString/
'게임 개발 > Unreal Engine 기본' 카테고리의 다른 글
[UE4] 언리얼 오브젝트의 기능 (0) | 2022.02.10 |
---|---|
[UE4] 스마트포인터 - TSharedPtr, TWeakPtr, TUniquePtr (0) | 2022.02.09 |
[UE4] 문자열 다루기 - FName, FText, String (0) | 2022.02.09 |
[UE4] 리플렉션 (0) | 2022.02.08 |
[UE4] CDO (Class Default Object) (1) | 2022.02.06 |