void Settings::Save() { Directory appDataDir = GetAppDataDir(); if (!appDataDir.Exists()) appDataDir.CreateNewDirectory(); auto it = m_PImpl->m_Data.Begin(); auto end = m_PImpl->m_Data.End(); File config; config.SetLocation(appDataDir.Location().OriginalString() + "/config.txt"); config.CreateNewFile(); FileStream fs; if (fs.Open(config.Location(), FileAccessMode::Write, FileAccessPriority::DelayReadWrite)) { for (; it != end; ++it) { String buf = String::UnsafeStringCreation(it->first) + "=" + it->second + "\n"; fs.Write(reinterpret_cast<const UInt8*>(buf.c_str()), 0, buf.Length()); } fs.Close(); } }