毕业论文

当前位置: 毕业论文 > 范文 >

property_get方法如何使用

时间:2020-09-27 15:32来源:优尔论文
之前虽然一直使用property_get函数,但是没有真正了解过,所以写出了这样一个bug char buf[PROPERTY_VALUE_MAX] = {\0}; if(property_get(debug.property.test, buf, 0)) { ALOGI(true); } else { ALOGI(false); } 结果就是一

之前虽然一直使用property_get函数,但是没有真正了解过,所以写出了这样一个bug

 

char buf[PROPERTY_VALUE_MAX] = {‘\0’};

if(property_get(“debug.property.test”, buf, “0”)) {

ALOGI(“true”);

} else {

ALOGI(“false”);

}

 

结果就是一直打印true

论文网我们看下property_get源码,O版本路径system/core/libcutils/properties.cpp

 

114 int property_get(const char *key, char *value, const char *default_value) {

115 int len = __system_property_get(key, value);

116 if (len > 0) {

117 return len;

118 }

119 if (default_value) {

120 len = strnlen(default_value, PROPERTY_VALUE_MAX - 1);

121 memcpy(value, default_value, len);

122 value[len] = ‘\0’;

123 }

124 return len;

125}

 

错误的使用了default_value,导致返回值永远大于0;

如果想判断有没有这个property,所以正确调用是

if(property_get(“debug.property.test”, buf, NULL) > 0) {

}

property_get方法如何使用:http://www.youerw.com/fanwen/lunwen_61925.html
------分隔线----------------------------
推荐内容