ini2struct

버전 1.0.0.0 (2.45 KB) 작성자: Andriy Nych
Function parses INI file and returns it as a structure with section names and keys as fields
다운로드 수: 4.4K
업데이트 날짜: 2007/10/26

라이선스 보기

This function parses INI file FileName and returns it as a structure with section names and keys as fields.

Sections from INI file are returned as fields of INI structure. Each fiels (section of INI file) in turn is structure. It's fields are variables from the corresponding section of the INI file.

If INI file contains "oprhan" variables at the beginning, they will be added as fields to INI structure.

Lines starting with ';' and '#' are ignored (comments).

See example below for more information.

Usually, INI files allow to put spaces and numbers in section names without restrictions as long as section name is between '[' and ']'. It makes people crazy to convert them to valid Matlab variables. For this purpose Matlab provides GENVARNAME function, which does
"Construct a valid MATLAB variable name from a given candidate".
See 'help genvarname' for more information.

The INI2STRUCT function uses the GENVARNAME to convert strange INI file string into valid Matlab field names.

[ test.ini ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SectionlessVar1=Oops
SectionlessVar2=I did it again ;o)
[Application]
Title = Cool program
LastDir = c:\Far\Far\Away
NumberOFSections = 2
[1st section]
param1 = val1
Param 2 = Val 2
[Section #2]
param1 = val1
Param 2 = Val 2

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The function converts this INI file it to the following structure:

[ MatLab session (R2006b) ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> INI = ini2struct('test.ini');
>> disp(INI)
sectionlessvar1: 'Oops'
sectionlessvar2: 'I did it again ;o)'
application: [1x1 struct]
x1stSection: [1x1 struct]
section0x232: [1x1 struct]

>> disp(INI.application)
title: 'Cool program'
lastdir: 'c:\Far\Far\Away'
numberofsections: '2'

>> disp(INI.x1stSection)
param1: 'val1'
param2: 'Val 2'

>> disp(INI.section0x232)
param1: 'val1'
param2: 'Val 2'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

NOTE.
WhatToDoWithMyVeryCoolSectionAndVariableNamesInIniFileMyVeryCoolProgramWrites?
GENVARNAME also does the following:
"Any string that exceeds NAMELENGTHMAX is truncated". (doc genvarname)

인용 양식

Andriy Nych (2024). ini2struct (https://www.mathworks.com/matlabcentral/fileexchange/17177-ini2struct), MATLAB Central File Exchange. 검색됨 .

MATLAB 릴리스 호환 정보
개발 환경: R2006b
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux
도움

줌: struct2ini, ini2struct

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
버전 게시됨 릴리스 정보
1.0.0.0