在蓝图系统中如何保存和加载vector到string?
时间: 2024-10-15 15:25:33 浏览: 13
UE基础面试,比较难回答的问题\字符串\代理\容器等
在虚幻引擎的蓝图系统中,保存和加载`vector`(通常表示为` TArray<T>`,比如` TArray<FString>`)到`string`通常涉及以下几个步骤:
1. **保存至文本文件**:
- **保存到字符串**: 首先,你需要遍历` TArray`,将每个元素转换为字符串并添加到一个新的字符串中,例如使用`FString`的`ToString()`或`ToFString()`方法。
- **使用序列化节点**: 创建一个`TextStreamWriter`节点,逐个写入元素到流中。例如,你可以创建一个循环来调用`WriteLine`方法,每次传入转换后的字符串。
2. **加载从文本文件**:
- **读取字符串**: 创建一个`TextStreamReader`节点,读取包含序列化的字符串文件。
- **解析字符串**: 再次使用循环,从流中逐行读取,使用`ParseLine`或其他适当的方法将每行字符串解析回原来的元素类型(在这里是`FString`),并加入到新的` TArray`中。
3. **示例代码(仅适用于Text序列化)**:
```blueprint
TArray<FString> MyStrings;
TextStreamWriter StreamWriter("MyFile.txt");
for (FString str : MyStrings) {
StreamWriter.WriteLine(str.ToString());
}
// 保存
TextStreamReader StreamReader("MyFile.txt");
while (!StreamReader.AtEndOfStream()) {
FString newStr;
StreamReader.ReadLine(newStr);
MyStrings.Add(FString::FromCli(newStr));
}
// 加载
```
阅读全文