CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

【急救】写注册表问题,字符串参数以0开头时……

楼主pengjd(悲酥清风之冰霜之刃)2006-03-17 11:06:06 在 VC/MFC / 基础类 提问

char*   szValue   =   “000162cdaf30”;      
  int   res   =   RegSetValueEx(hKEY,"NetworkAddress",0,REG_SZ,(const   unsigned   char   *)szValue,strlen(szValue));  
   
  上面的代码在release下写入注册表的数据不正确,是乱码。我理解是因为我的szValue中存在0,所以在RegSetValueEx处理时把szValue截断了,结果写出来是乱码。如果我把szValue=“111。。。”就能写正确了。  
  请问该然后解决?  
  问题点数:80、回复次数:7Top

1 楼Atomictry(天影)回复于 2006-03-17 11:27:05 得分 20

char*   szValue   =   “000162cdaf30”;  
  这个并不会截断,'\0'才会。Top

2 楼DrSmart(斯玛特)回复于 2006-03-17 11:58:35 得分 10

晕,0不会截呀,char型没有\0不可能截断,你的参数有问题BYTE*Top

3 楼striking(庸人自扰)回复于 2006-03-17 12:07:07 得分 10

那是相当的奇怪~~Top

4 楼jinxuliang(smielfox)回复于 2006-03-17 18:47:59 得分 20

//测试后没有问题啊vc6+sp5+win2003   测试  
   
  HKEY   hKey;  
  int   r= RegOpenKeyEx(   HKEY_LOCAL_MACHINE,   "HARDWARE",0,   KEY_WRITE,   &hKey   );  
   
  ASSERT(r==ERROR_SUCCESS);  
    char   *   szValue   =   "000162cdaf30";  
  int   res   =   RegSetValueEx(hKey,"NetworkAddress",0,REG_SZ,(const   unsigned   char   *)szValue,strlen(szValue)+1);//strlen(szValue)+1等价strlen(szValue)  
  ASSERT(res==ERROR_SUCCESS);  
  //  
  vc6+sp5+win2003   测试  
  Top

5 楼jinxuliang(smielfox)回复于 2006-03-17 18:51:34 得分 10

大哥  
  拜托别逗大家玩哈Top

6 楼DrSmart(斯玛特)回复于 2006-03-17 18:55:17 得分 10

char   temp[]="DrSmart";   //value  
  HKEY   key;    
  RegOpenKeyEx(   HKEY_LOCAL_MACHINE,"Software",0,   KEY_ALL_ACCESS,   &key   );    
  RegSetValueEx(key,"DrSmart   Software",0,REG_SZ,(BYTE*)temp,   sizeof(temp));   //   name  
                    RegCloseKey(key);Top

7 楼pengjd(悲酥清风之冰霜之刃)回复于 2006-03-18 09:47:57 得分 0

找到问题了,不是这里的问题,谢谢大家啦Top

相关问题

  • 如何将注册表里的键值写为字符串
  • 急救!注册表问题!
  • 如果读出win2000下注册表reg_multi_sz类型的字符串列表?
  • 怎么才能在注册表指定的位置写入一个字符串
  • 如何将注册表里Reg_Binary类型的值转换为字符串
  • VB中数据库链接字符串如何写入注册表
  • 关于注册表的操组..请问TRegistry中怎样建立一个新的字符串.
  • 注册表中读取一个字符串值,Name为(默认)时,如何取得其值
  • 如何将一段字符串保存到注册表里?(我只有这些分了)
  • 怎么用VB在注册表里新建字符串值,二进制制,双字节值?

关键词

  • 测试
  • szvalue
  • cdaf30
  • regsetvalueex
  • 截断
  • hkey
  • 问题
  • strlen
  • sz
  • reg

得分解答快速导航

  • 帖主:pengjd
  • Atomictry
  • DrSmart
  • striking
  • jinxuliang
  • jinxuliang
  • DrSmart

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo