当前位置: 首页 > article >正文

【UE5 C++课程系列笔记】19——通过GConfig读写.ini文件

步骤

1. 新建一个Actor类,这里命名为“INIActor”

2. 新建一个配置文件“Test.ini”

添加一个自定义配置项 

3. 接下来我们在“INIActor”类中获取并修改“CustomInt”的值。这里定义一个方法“GetINIVariable”

方法实现如下,其中第16行代码用于构建配置文件的完整路径,FPaths::SourceConfigDir() 函数会获取虚幻引擎项目中源配置目录的路径,然后通过 FString::Printf 函数按照格式化的方式将源配置目录路径与文件名 DefaultGame.ini 进行拼接,形成完整的配置文件路径。

第17行定义了一个 int32 类型的变量 MyConfigVariable,用于存储从配置文件中读取出来的整型配置变量的值。

第18行中,TEXT("Custom")表示配置节(Section)的名称;TEXT("CustomInt")是配置项(Key)的名称。

第21行调用 GConfig->SetInt 函数将更新后的 MyConfigVariable 的值写回到配置文件中。

第22行GConfig->Flush(false, DefaultGamePath) 语句用于将之前对配置文件所做的修改保存到配置文件中。

void AINIActor::GetINIVariable()
{
	const FString DefaultGamePath = FString::Printf(TEXT("%sTest.ini"), *FPaths::SourceConfigDir());
	int32 MyConfigVariable;
	GConfig->GetInt(TEXT("MyCustom"), TEXT("CustomInt"), MyConfigVariable, DefaultGamePath);
	UE_LOG(LogTemp, Warning, TEXT("CustomInt:%d"), MyConfigVariable);
	MyConfigVariable += 10;
	GConfig->SetInt(TEXT("MyCustom"), TEXT("CustomInt"), MyConfigVariable, DefaultGamePath);
	GConfig->Flush(false, DefaultGamePath);
}

4. 编译后,创建基于“INIActor”的蓝图类

这里命名为“BP_INIActor”

将“BP_INIActor”拖入视口

5. 在关卡蓝图中通过1键调用方法“GetINIVariable”

调用后可以看到成功获取配置文件中配置项的值

打开“Test.ini”可以看到成功保存了修改后的配置项 


http://www.kler.cn/a/465501.html

相关文章:

  • 【Block总结】Conv2Former中的Block,卷积调制块,简化了自注意力机制,提高了内存效率
  • 【开源社区openEuler实践】rust_shyper
  • 第J4周:ResNet与DenseNet结合探索
  • 下载word报表
  • 探索AI在地质科研绘图中的应用:ChatGPT与Midjourney绘图流程与效果对比
  • 第5章:索引和性能优化
  • 网络原理之TCP和UDP
  • Java-多种方法实现多线程卖票
  • 在mac上通过Vundle安装YouCompleteMe(YCM)
  • LeetCode题练习与总结:超级洗衣机--517
  • vue,使用unplugin-auto-import避免反复import,按需自动引入
  • Dpath之详解(Detailed Explanation of Dpath)
  • 借助 FinClip 跨端技术探索鸿蒙原生应用开发之旅
  • spring boot IDEA启动两个端口服务nginx负载
  • 如何使用Python自动化发送消息:用pynput库批量输入并发送文本
  • 网络安全:交换机技术
  • leetcode 面试经典 150 题:多数元素
  • 工信部电子标准院计算机视觉证书报考指南!
  • 项目引入MybatisPlus
  • npm提示Install fail! Error_ EBUSY_ resource busy or
  • STM32G431收发CAN
  • python的urllib模块和http模块
  • stm32f103zet6 ds18b20
  • openbmc sdk09.03 适配(一)
  • 内存卡乱码问题全解析与高效恢复方案
  • 【Java基础】Java数据类型阐述、基本数据类型的占用和范围、二进制的讲述