zoukankan      html  css  js  c++  java
  • 将字符串存储到注册表中,长度一定是 strlen(text) + 1

    参考:https://docs.microsoft.com/en-us/windows/desktop/sysinfo/registry-value-types

    将字符串存储到注册表中,长度参数一定要是 strlen(text) + 1

    如果数据具有REG_SZ,REG_MULTI_SZ或REG_EXPAND_SZ类型,则可能未使用正确的终止空字符存储该字符串。因此,从注册表中读取字符串时,必须确保在使用之前正确终止字符串; 否则,它可能会覆盖缓冲区。(请注意,REG_MULTI_SZ字符串应该有两个终止空字符。)

    将字符串写入注册表时,必须指定字符串的长度,包括终止空字符( 0)。一个常见的错误是使用strlen函数来确定字符串的长度,但要忘记strlen只返回字符串中的字符数,不包括终止null。因此,字符串的长度应按如下方式计算:strlen( string ) + 1

    REG_MULTI_SZ字符串以长度为0的字符串结尾。因此,序列中不可能包含零长度字符串。空序列定义如下: 0。

  • 相关阅读:
    mysql中的enum型
    mysql中的时间year/date/time/datetime
    一些数字的属性
    mysql增删
    Perl6 Bailador框架(8):自定义400/500
    react: typescript jest && enzyme
    webstorm tslint配置
    react: typescript import images alias
    JSONP原理及简单实现
    纯css画三角形
  • 原文地址:https://www.cnblogs.com/personnel/p/10579337.html
Copyright © 2011-2022 走看看