码迷,mamicode.com
首页 > 其他好文 > 详细

(转载)RegSetValueEx设置REG_SZ类型键值时要注意的问题

时间:2014-11-23 12:57:10      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:blog   http   ar   sp   数据   问题   log   bs   ef   

REG_SZ  REG_SZ
  在注册表中,REG_SZ,是一种字符串类型,代表一个简单的文本字符串,是最常见的一种数据类型。
  其中“SZ”是“String Zero”的缩写,匈牙利命名法,表示null结尾的字符串变量。

  注:REG_SZ型注册表值项没有长度限制。

原文出处: http://blog.csdn.net/jun_01/archive/2005/07/05/414959.aspx

假设szValue是一个TCHAR[] .

用以下语句,看起来很正常,但实际却有问题.   数据读取出来后后边有很多乱码.

RegSetValueEx(hKey, _T("Open"), 0, REG_SZ, (BYTE *)szValue, _tcslen(szValue) * sizeof(TCHAR) );

原来是注册表中存字符串数据也得带着那个0;
所以正确做法应该这样:
RegSetValueEx(hKey, _T("Open"), 0, REG_SZ, (BYTE *)szValue, (_tcslen(szValue) + 1) * sizeof(TCHAR));

这时候再看REG_SZ中的"SZ",似乎觉得这个名字起的很好.

(转载)RegSetValueEx设置REG_SZ类型键值时要注意的问题

标签:blog   http   ar   sp   数据   问题   log   bs   ef   

原文地址:http://www.cnblogs.com/kmshhl/p/4116376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!