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

【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.lryc.cn/news/514834.html

相关文章:

  • JS 中 json数据 与 base64、ArrayBuffer之间转换
  • USB 驱动开发 --- Gadget 驱动框架梳理
  • 细说STM32F407单片机中断方式CAN通信
  • Python应用指南:高德交通态势数据
  • 医学图像分析工具01:FreeSurfer || Recon -all 全流程MRI皮质表面重建
  • .NET框架用C#实现PDF转HTML
  • mamba-ssm安装
  • 网络IP协议
  • 双指针算法详解
  • MySQL的最左匹配原则是什么
  • LeetCode:106.从中序与后序遍历序列构造二叉树
  • 22. 【.NET 8 实战--孢子记账--从单体到微服务】--记账模块--切换主币种
  • 01.02周四F34-Day43打卡
  • 行业商机信息付费小程序系统开发方案
  • cut-命令详解
  • Apache MINA 反序列化漏洞CVE-2024-52046
  • 二、AI知识(神经网络)
  • node.js之---子线程(child_process)模块
  • Json字符串解析失败
  • LeetCode算法题——螺旋矩阵ll
  • 【开源社区openEuler实践】hpcrunner
  • linux下安装达梦数据库v8详解
  • Redis的常用命令
  • Docker入门常用命令总结
  • 【Qt】容器控件、布局管理控件
  • cesium小知识:常见的20多种property详解
  • 图数据库 | 17、高可用分布式设计(上)
  • 1.运控概述
  • DuckDB:密钥管理器及其应用
  • 单元测试4.0+思路总结