2013-04-12 4 views
1

Я работаю над приложением, которое должно хранить значение данных типа double в реестре. Я использую MFC, но единственные функции в «theApp», которые я вижу для выполнения задания (из поиска, который я сделал), являются GetProfileIntW, GetProfileStringW и GetProfileBinary. Каким будет лучший способ хранить и извлекать данные, сохраняя при этом максимально возможную точность?MFC, записывающий двойной тип данных в реестр

+0

Есть ли причина не использовать функции реестра Win32 напрямую? –

+0

@CareyGregory, MFC автоматически помещает ваши ключи в соответствующее место в реестре. Это просто удобная вещь. –

ответ

3

Функция GetProfileBinary является единственным разумным выбором. Использование строки будет означать выполнение преобразований, и использование int во многих случаях приведет к потере точности.

double *pMyDouble; 
UINT size = sizeof(*pMyDouble); 
GetProfileBinary(sectionName, valueName, (LPBYTE *)&pMyDouble, &size); 
double myDouble = *pMyDouble; 
+0

Я получаю сообщение об ошибке для третьего аргумента: «Аргумент типа« double * »несовместим с типом параметра« LPBYTE * ».» –

+1

@TimothyChapman, просто введите указатель. –

+0

@TimothyChapman Отредактировано для добавления роли. –

Смежные вопросы