送分的问题哦:如何将double类型的变量写入到注册表里啊?

CandyCat 2001-05-09 08:13:00
在程序里有一些用户设置的double数值,需要放到注册表里,以供下次运行程序时使用。我该如何写入,又该如何读出呢?

WriteProfileInt()好像不行吧。
难道要用WriteProfileString()然后再转换为数字?

我对注册表的读写还没有做过什么练习,希望大家能帮忙。
谢谢。

...全文
213 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjyasd 2001-05-09
  • 打赏
  • 举报
回复
其实,将DOUBLE类型的转化成CSTRING进行保存也比较方便。
而且可以使用atof在转化回来呀!
duz 2001-05-09
  • 打赏
  • 举报
回复
还可以直接使用API函数,RegSetValueEx(...)
直接写入REG_BINARY类型的数据。
leesungyong 2001-05-09
  • 打赏
  • 举报
回复
有几个地方需要更正
a.low 改成a.i.low
a.hi 改成 a.i.hi

leesungyong 2001-05-09
  • 打赏
  • 举报
回复
double变量占两个八个字节int型变量占4个字节
可以把double数值的内容用两个int数值保存

例如17.538487576在内存中表示是0x403189da526038ea
我们用int a存放403189da
用int b 存放526038ea
代码如下
struct dint
{
int low;
int hi;
}; //注意low和hi的顺序不能改变

union double2int
{
double d;
dint i;
};
声明一个变量
union double2int a;
//存放17.538487576
a.d = 17.538487576;
//写注册表
WriteProfileInt("section", "ItemLow", a.low);
WriteProfileInt("section", "ItemHi", a.hi);

读取得时候相反

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧