#include <iomanip>
#include <iostream>
#include <fstream>
+#include <array>
#include <stdio.h>
#include <sys/stat.h>
#include <unistd.h>
*/
bool SetDialModel::loadDialConfig(int Id, DialLayout &layout)
{
- std::string filename = std::string(APP_CUSTOM_DIAL_PATH) + "/" + std::to_string(Id) + ".bin";
-
+ std::string filename = GetSaveDir(Id) + "/" + std::to_string(Id) + ".bin";
// 打开文件
std::ifstream configFile(filename, std::ios::binary);
if (!configFile.is_open())
}
// 读取配置
- char settings[3]; // 读取3个字节
- configFile.read(settings, sizeof(settings));
- if (configFile.gcount() != sizeof(settings))
+ std::array<char, 3> settings;
+ configFile.read(settings.data(), settings.size());
+
+ if (configFile.gcount() != settings.size())
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to read config file or insufficient file content!");
- configFile.close();
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to read configuration: %s", filename.c_str());
return false; // 读取失败
}
layout.colorTypeSet = static_cast<ColorTypeSet>(settings[2]); // 字体颜色
// 关闭文件
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Failed to read config file or insufficient file content!");
configFile.close();
return true; // 成功读取配置
}