Hej, używając funkcji WritePrivateProfileStringA zaprogramowałem zapisywanie "bool", "float", "int" i wszystko działa tak samo jak odczyt, ale nie mam bladego pojęcie jak zapisać char albo char*
Kod na zapis do int, float i bool
for (auto value : ints)
WritePrivateProfileStringA(value->category.c_str(), value->name.c_str(), std::to_string(*value->value).c_str(), file.c_str());
for (auto value : floats)
WritePrivateProfileStringA(value->category.c_str(), value->name.c_str(), std::to_string(*value->value).c_str(), file.c_str());
for (auto value : bools)
WritePrivateProfileStringA(value->category.c_str(), value->name.c_str(), *value->value ? "1" : "0", file.c_str());
tutaj odczyt
for (auto value : ints)
{
GetPrivateProfileStringA(value->category.c_str(), value->name.c_str(), "", value_l, 32, file.c_str());
*value->value = atoi(value_l);
}
for (auto value : floats)
{
GetPrivateProfileStringA(value->category.c_str(), value->name.c_str(), "", value_l, 32, file.c_str());
*value->value = atof(value_l);
}
for (auto value : bools)
{
GetPrivateProfileStringA(value->category.c_str(), value->name.c_str(), "", value_l, 32, file.c_str());
*value->value = !strcmp(value_l, "true");
}