c – Std :: string由返回char *的函数赋值
发布时间:2020-12-16 10:21:45 所属栏目:百科 来源:网络整理
导读:更新:对于getValue函数我无法控制,所以我可以从我这边做什么? 关于字符串和char * basic,我有一个愚蠢的问题. 我正在使用一个返回char *值的函数, const char *getValue(const char *key){ //if key found,and valueString is a string return valueString
更新:对于getValue函数我无法控制,所以我可以从我这边做什么?
关于字符串和char * basic,我有一个愚蠢的问题. 我正在使用一个返回char *值的函数, const char *getValue(const char *key) { //if key found,and valueString is a string return valueString.c_str(); //else return NULL; } 然后我初始化一个字符串来保存返回值, std::string value = getValue(key); 问题是,每当找不到值时,这意味着函数返回NULL,我的赋值行将遇到异常.但是当有合法的回报价值时,一切都运转良好. 我在想 谢谢. 解决方法
由于您无法控制getValue()函数的作用,因此在将其赋值给std :: string之前,需要检查NULL的返回值.
std::string value; // value is an empty string const char *retVal = NULL; if( ( retVal = getValue(key) ) != NULL ) { value.assign( retVal ); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |