Add new line in .ini file
8 views (last 30 days)
Show older comments
I'm trying to set the properties of a class by loading the contents of the initialization file in a class method.
Source for INI class (https://www.mathworks.com/matlabcentral/fileexchange/55766-ini).
classdef setting
properties(Constant)
test_graph = settings_utils.data.test_graph;
end
methods(Static)
function data = load_data
I = INI('File','input.ini');
I.read();
data = I.get('UserData'); % struct
end
end
end
example.ini includes the following
[UserData]
test_graph = struct( ...
'test1', false, ...
'test2', false, ...
'test3', false)
>>> settings.test_graph
ans =
'struct(...'
I would like to know how to add new line in .ini files.
I tried to add `...` which is how I add multiple lines in .m files. But this doesn't work i.e the struct is not read correctly from the .ini file; it is read as a string.
Answers (1)
Jacob Mathew
on 16 Feb 2024
Edited: Jacob Mathew
on 16 Feb 2024
I was able to reproduce the difficulty you were facing using the same INI Add on in MATLAB R2021a. However, even after multiple approaches of declaring multi-line values, the read function of this specific Add On only reads a single line.
A possible workaround is to write the entire struct in a single line in the INI file as follows:
% input.ini file
[UserData]
test_graph = struct('test1',false,'test2’,false,’test3’,false)
The documentation for struct can be found here:
Then when you perform the read operation, it will be read as a struct. The following code and screenshot below demonstrate the same:
% MATLAB Code to read from the INI file
File = 'input.ini';
I = INI('File',File);
I.read();
data = I.get('MyData');
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!