[UE4]문자열 사용
🎮문자열 사용
⚙️TEXT() 매크로
언리얼에서 문자열 리터럴을 사용할 때 TEXT() 매크로를 사용해야 한다. 문자열을 여러 플랫폼에 대응하기 위해 사용된다.
1
2
3
4
5
6
7
8
9
10
11
#include "BullCowCartridge.h"
void UBullCowCartridge::BeginPlay() // When the game starts
{
Super::BeginPlay();
// PrintLine은 터미널에 문자열을 출력하기 위한 함수로서
// 강의에서 만들어 놓은 함수이고
// 언리얼에서 제공하는 함수가 아니다.
PrintLine(TEXT("Bulls and Cows"));
}
PrintLine 함수 인자로 TEXT 매크로에 감싼 문자열을 넘겨주고 함수를 호출하면 아래와 같이 터미널에 문자열이 출력되는 것을 확인할 수 있다.
⚙️FString
언리얼에서는 C++에서 문자열 변수를 선언하기 위해 사용했던 string 타입 대신 FString을 사용한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "BullCowCartridge.h"
void UBullCowCartridge::BeginPlay() // When the game starts
{
Super::BeginPlay();
FString HiddenWord = TEXT("Bulls");
// 사용자 지정 함수 PrintLine()에
// FString::Printf가 포함되어 있어서 생략 가능
PrintLine(FString::Printf(TEXT("The Hidden Word is: %s"), *HiddenWord));
PrintLine(TEXT("The Hidden Word is: %s"), *HiddenWord);
}
변수 HiddenWord에 담겨있는 Bulls가 정상적으로 출력되는 것을 볼 수 있다.
FString 클래스의 Printf 함수를 사용하여 문자열 변수를 출력하고자 할 때 C언어의 표준 출력 함수인 printf() 함수를 사용하는 것 처럼 출력 양식과 출력 양식 변환기호를 사용해야 한다.
1
2
3
4
5
6
FString Word = TEXT("word");
int32 num = 1; // int 대신 int32 사용
FString::Printf(TEXT("문자열: %s, 정수: %i"), *Word, num);
// FString::Len() 함수로 문자열의 길이를 알 수 있다.
FString::Printf(TEXT("문자열 길이: %i"), Word.Len());
Leave a comment