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

MATLAB解析和保存ini文件

1. 将ini文件转换成struct结构体

function data = ini2struct(filename)fid = fopen(filename, 'r');if fid == -1error('Unable to open file %s.', filename);enddata = struct();section = '';while ~feof(fid)line = fgetl(fid);line = strtrim(line);% 如果是注释行或者空行,则继续下一次循环if isempty(line) || line(1) == ';' || line(1) == '#'continue;end% 如果是节标题if line(1) == '[' && line(end) == ']'section = line(2:end-1);data.(section) = struct();continue;end% 解析键值对equalIndex = strfind(line, '=');if isempty(equalIndex)error('Invalid format in file %s.', filename);endkey = strtrim(line(1:equalIndex-1));value = strtrim(line(equalIndex+1:end));data.(section).(key) = value;endfclose(fid);
end

2. 将结构体保存为ini文件

function struct2ini(data, filename)fid = fopen(filename, 'w');if fid == -1error('Unable to open file %s.', filename);endfields = fieldnames(data);for i = 1:numel(fields)section = fields{i};keys = fieldnames(data.(section));fprintf(fid, '[%s]\n', section);for j = 1:numel(keys)key = keys{j};value = data.(section).(key);fprintf(fid, '%s=%s\n', key, value);endfprintf(fid, '\n');endfclose(fid);
end

3. 读取ini文件时的转换

INI文件中的值都被视为字符串,如果需要将值解析为其他类型(如浮点数或数组),需要在代码中进行转换:

data = ini2struct('test.ini');% 从结构体中获取对应的值
robotValue = data.Robot;
limitAValue = str2num(data.Limit.A); % 将字符串转换为数值
limitBValue = str2num(data.Limit.B); % 将字符串转换为数值% 打印结果
disp(['Robot: ' robotValue]);
disp(['Limit A: ' num2str(limitAValue)]);
disp(['Limit B: ' num2str(limitBValue)]);
http://www.lryc.cn/news/158336.html

相关文章:

  • 模型压缩-对模型结构进行优化
  • 软件工程课件
  • 基于ADS的marx雪崩电路设计-设计实践(射频脉冲源)
  • X86_64函数调用汇编程序分析
  • Vue3【Provide/Inject】
  • Go-Python-Java-C-LeetCode高分解法-第四周合集
  • vue路由
  • 最强的AI视频去码图片修复模型:CodeFormer
  • jenkins自动化部署安装
  • 如何调用Zabbix API获取主机信息
  • 批量执行redis命令总结
  • 命令行git联网失败,但是实际可以联网
  • 网络编程套接字,Linux下实现echo服务器和客户端
  • java+ssh+mysql智能化办公管理系统
  • 网络层抓包tcpdump
  • QT之形态学操作
  • 15、监测数据采集物联网应用开发步骤(11)
  • Pygame中Trivia游戏解析6-2
  • java 实现命令行模式
  • A - Orac and Models(最长上升子序列——加强版)
  • 【python手写算法】逻辑回归实现分类(含公式推导)
  • 【2023高教社杯数学建模国赛】ABCD题 问题分析、模型建立、参考文献及实现代码
  • yum安装mysql5.7散记
  • DNS解析
  • 从jdk8 升级到jdk17的问题总结
  • 一百七十二、Flume——Flume采集Kafka数据写入HDFS中(亲测有效、附截图)
  • pnpm 升级
  • 有关使用HttpServletRequest的Cookie的设置和获取
  • 关于 Nginx 的哪些事
  • 插入排序——希尔排序