티스토리 뷰
FString
조작이 가능한 유일한 스트링 클래스
대소문자 변환, 부분 문자열 추출, 역순 등 메소드 존재.
검색과 변경, 다른 스트링과 비교도 가능
그래서 다른 스트링 클래스보다 무겁다.
FString 만들기
FString Value = FString(TEXT("Test"));
FString 비교하기
. 오버로딩된 == 연산자 사용
. FString 변수와 TCHAR* 배열 비교
. FString::Equals() 메소드 사용.
Equals 메소드 사용 시 ESearchCase Enum으로 대소문자 비교 유무 설정
대소문자 상관없는 비교는 ESearchCase::IgnoreCase
아니라면 ESearchCase::CaseSensitive 사용
Value.Equals(TEXT("Test"), ESearchCase::CaseSensitive);
FString 검색
. FString::Contains() 호출
찾고자 하는 문자열이 FString에 있다면 true를 반환, 아니면 false를 반환한다.
검색 대상에는 FString 과 TCHAR* 이 올 수 있다.
ESearchCase Enum으로 대소문자 비교 유무 설정 가능.
ESearchDir Enum으로 검색 방향을 지정
ESearchDir::FromEnd는 처음부터 시작하는 것.
Value.Contains(TEXT("Test"), ESearchCase::CaseSensitive, ESearchDir::FromEnd);
. FString::Find() 호출
찾고자 하는 문자열의 처음 인덱스를 반환. 못 찾으면 -1 반환
검색 대상 위와 동일하며 각 Enum으로 조건 설정 가능.
또 다른 옵션으론 검색 시작 인덱스 지정 가능.
Value.Find(TEXT("test"), ESearchCase::CaseSensitive, ESearchDir::FromEnd, 10);
FString 이어 붙이기
다른 변수를 FString으로 변환 후 원래 있던 FString에 붙일 수 있다.
연산자 +=, +를 사용한다.
String1 += String2;
Printf
스트링을 조립해 FString에 저장 가능하며 UE_LOG로 출력시킬 수 있다.
const FString TimeDesc = FString::Printf(TEXT("%d"), time);
각 자료형에 맞는 변환하는 방법은 공식문서 참조.
FName
대소문자 구분 X, 변경 불가. 스트링에서 FName 변환 시 해시 테이블을 사용해 빠름.
문자열 사용에 있어 초경량 시스템 제공, 주어진 문자열이 재사용되도 데이터 테이블에 한 번만 저장.
사용처
- 콘텐츠 브라우저에서 새 애셋 이름 정할 때.
- 다이나믹 머터리얼 인스턴스의 파라미터 변경.
- 스켈레탈 메시에서 본에 접근할 때.
UE4에 DataTable 존재.
FName 비교하기
. ==연산자로 비교하기
true, false 반환. 실제 문자열 비교보단 Index 안의 값을 비교해 CPU가 절약이 된다.
. FName::Compare 사용하기
비교 값 보다 작으면 음수, 같으면 0, 크면 양수 반환
CompareValue = TestFName.Compare(OtherFName);
FText
현지화 처리를 위해 고안된 탄탄한 스트링 표현
검색 키워드 : text localization
숫자를 읽기 좋게 변환, %표현으로 변경.
'언리얼 C++' 카테고리의 다른 글
언리얼 엔진 - 공식문서, 플레이어 입력 및 폰 따라하기 (0) | 2021.04.16 |
---|---|
언리얼 엔진 - 변수 선언 (0) | 2021.04.15 |
언리얼 엔진 - 프로그래밍 퀵 스타트 따라하기 (0) | 2021.04.15 |
언리얼 엔진 로그 출력하기 (0) | 2021.04.15 |
언리얼 엔진 C++ 기본 용어 (0) | 2021.04.15 |
- Total
- Today
- Yesterday
- 언리얼엔진
- 생활코딩#동영상을#글로#html
- 변수
- 글로
- 네트워크 프로그래밍
- 정렬
- GRID
- 조건문
- 언리얼엔진4
- 문자열
- C언어
- TAG
- 안드로이드 스튜디오
- 차이점
- 선택자
- 객체
- javascript
- 기초
- 관계형데이터베이스
- inline
- 생활코딩#MySQL
- php
- visual studio code
- 생활코딩
- HTML
- PHP&MySQL
- css
- Link
- 동영상을
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |