ue5 c++ 如何打印FString
时间: 2024-05-05 17:16:54 浏览: 176
在UE5 C++中,可以使用UE_LOG宏来打印FString。例如:
```cpp
FString MyString = "Hello World!";
UE_LOG(LogTemp, Warning, TEXT("%s"), *MyString);
```
这将在控制台输出类似于以下内容的日志消息:
```
LogTemp: Warning: Hello World!
```
在上面的代码中,LogTemp是日志类别,Warning是日志级别,%s是格式字符串,*MyString是传递给格式字符串的参数。由于% s需要一个C字符串而不是FString,因此需要在FString前面加上星号来将其转换为C字符串。
相关问题
ue5 c++ 如何打印 FString
使用UE_LOG函数可以打印FString,例如:
```cpp
FString MyString = "Hello World!";
UE_LOG(LogTemp, Warning, TEXT("%s"), *MyString);
```
这将在日志窗口中输出:
```
LogTemp: Warning: Hello World!
```
如何使用C++的FString在UE5中从路径'D:\Unreal Engine Project\Package'中提取出仅'Package'部分?
在 Unreal Engine (UE5) 中,虽然官方推荐使用 UE5 的内置字符串处理功能,但它并未直接提供类似 C++ `std::wstring` 的 `FString` 类型。不过,如果你在UE5里依然想使用类似于C++的标准库 `FString` 的操作,你可以先将路径转换为 `TCHAR` 或 `TChar*` 类型,然后使用标准函数如 `_tcscat`, `_tcschr`, 和 `_tcsrchr` 来处理。
以下是一个示例步骤:
```cpp
#include "CoreMinimal.h"
#include "Misc/Paths.h"
// 获取路径
const FString& path = TEXT("D:\\Unreal Engine Project\\Package");
// 将FString转换为宽字符指针
TCHAR* filePath = *path.Buffer(); // 这行会复制整个字符串到一个临时宽字符数组
// 查找最后一个反斜杠
size_t lastSlashIndex = _tcsrchr(filePath, TEXT('\\')) - filePath; // 注意减去宽字符数组中的第一个元素
// 如果找不到反斜杠,则表示路径就是'Package'
if (lastSlashIndex == TCHAR_MAX)
{
FString packagePath(filePath);
}
else
{
// 从最后一个反斜杠加一的位置开始截取
FString packagePath(filePath + lastSlashIndex + 1); // 包含反斜杠的部分,但不包含它本身
}
// 删除结果字符串前后的空格
packagePath.Trim();
// 输出或使用packagePath变量
//
阅读全文