文件打开函数如下:
void KeyManager::openKeyFile()
{
QDateTime dateTime = QDateTime::currentDateTime();
keyPath = QString(configure.keyPath.c_str()) + "/" + dateTime.toString("yyyyMMddhhmmss") + ".key";
qDebug() << "keyFilePath"<<keyPath;
qDebug()<<"keyFile1"<<keyFile;
QMutexLocker locker(&keyFileMutex);
if(keyFile != nullptr) {
fclose(keyFile);
keyFile = nullptr;
}
#if defined(_WIN32)
//keyFile = _fsopen(keyPath.toStdString().c_str(), "wb+", _SH_DENYNO);//只支持英文路径
keyFile = _wfsopen((reinterpret_cast<const wchar_t *>(keyPath.utf16())), s2ws("wb+").c_str(), _SH_DENYNO);//支持中英文路径
#else
keyFile = fopen(fileName.toStdString().c_str(), "wb+");
#endif
qDebug()<<"keyFile2"<<keyFile;
_keyOffset = 0;
_keySize = 0;
if(keyFile != nullptr) {
logger.info(u8"密钥文件创建成功");
}
else {
logger.error(u8