本文整理汇总了C++中var::GetType方法的典型用法代码示例。如果您正苦于以下问题:C++ var::GetType方法的具体用法?C++ var::GetType怎么用?C++ var::GetType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类var
的用法示例。
在下文中一共展示了var::GetType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: string
inline static std::string convertVar(const var& val)
{
const std::type_info* x = &val.GetType();
if (*x == typeid(int)) {
/*64Bit*/
char str[24];
#ifndef _SAFE_C
sprintf(str, "%d", val.var_cast<int>());
#else
sprintf_s(str, "%d", val.var_cast<int>());
#endif
return std::string(str);
}
else if (*x == typeid(double)) {
char str[40];
#ifndef _SAFE_C
sprintf(str, "%.8lf", val.var_cast<double>());
#else
sprintf_s(str, "%.8lf", val.var_cast<double>());
#endif
return std::string(str);
}
else if(*x == typeid(unsigned int)) {
/*64Bit*/
char str[24];
#ifndef _SAFE_C
sprintf(str, "0x%x", val.var_cast<unsigned int>());
#else
sprintf_s(str, "0x%x", val.var_cast<unsigned int>());
#endif
return std::string(str);
}
else if (*x == typeid(std::string)) {
std::string str = '\"' + val.var_cast<std::string>() + '\"';
return str;
}
else if (*x == typeid(bool)) {
if (val.var_cast<bool>())
return std::string("true");
else
return std::string("false");
}
else if (*x == typeid(char)) {
char str[2] = { 0 };
str[0] = val.var_cast<char>();
return std::string(str);
}
else if (*x == typeid(unsigned char)) {
char str[2] = { 0 };
str[0] = val.var_cast<unsigned char>();
return std::string(str);
}
else if (*x == typeid(float)) {
char str[32];
#ifndef _SAFE_C
sprintf(str, "%.6f", val.var_cast<unsigned int>());
#else
sprintf_s(str, "%.6f", val.var_cast<unsigned int>());
#endif
return std::string(str);
}
else if(*x == typeid(short)) {
char str[8];
#ifndef _SAFE_C
sprintf(str, "%d", val.var_cast<short>());
#else
sprintf_s(str, "%d", val.var_cast<short>());
#endif
return std::string(str);
}
else if (*x==typeid(unsigned short)) {
char str[8];
#ifndef _SAFE_C
sprintf(str, "%d", val.var_cast<unsigned short>());
#else
sprintf_s(str, "%d", val.var_cast<unsigned short>());
#endif
return std::string(str);
}
else {
/* Warning */
//.........这里部分代码省略.........