| Crates.io | ini-rs |
| lib.rs | ini-rs |
| version | 0.2.1 |
| created_at | 2025-04-18 20:53:03.105502+00 |
| updated_at | 2025-06-25 09:17:31.202836+00 |
| description | Read and write INI files with funcions. Also allows direct access to INI data |
| homepage | |
| repository | https://github.com/DawsonThePagan/ini-rs |
| max_upload_size | |
| id | 1639854 |
| size | 15,325 |
A rust crate to read an INI file into a structure. The data can be accessed directly if required.
Testing application can be found here
Crate.io entry here
Load an INI file
use ini_rs::Ini;
// Load foo.ini
let mut foo = match Ini::new(r".\foo.ini".to_string()) {
Ok(ini) => ini,
Err(e) => panic!("{}", e),
};
Read data from an INI file
match foo.get("foo", "foo") {
Some(x) => {
println!("{}", x)
}
None => {
panic!("Key not found in section")
},
}
Change data in the INI file, then save the change
foo.set("bar", "bar", "bar");
match foo.save() {
Ok(_) => println!("File saved successfully"),
Err(e) => panic!("{}", e)
}
Remove data from the INI file
foo.remove("bar", "bar");
foo.remove_section("foo");
Load an INI file. If the file doesn't exist, create a blank Ini structure. Will return Err(io::Error) if the file provided is invalid.
Set, or create if it doesn't exist, a value in a section. It will also create the section if the section doesn't exist. This does not save the file.
Get the key from the provided section. If it doesn't exist, returns None.
Remove a key from a section. Will not error if it doesn't exist. This does not save the file.
Remove a section, will remove all keys from the section. Will not error if it doesn't exist. This does not save the file.
Save the changes to the file. Will not keep any comments present in the file. Ok(usize) contains the new size of the file.
Make an INI structure from a string. Does not set the config_file so cannot save unless set manually.
Dump out the contents of the structure in the INI format to a string.