增强CString类(字符数值自由转换)
来源:互联网 发布:mac粉 编辑:程序博客网 时间:2024/06/04 22:47
// 通用库// String.hnamespace Common{class CString : public string{public:CString();virtual ~CString();// 模版化构造函数template <typename T>CString(const T& tVal){ostringstream oss;oss << tVal;assign(oss.str());}// 模版化类型转换(注意char*不可用)template <typename T>operator T(){T tVal;istringstream iss(this->c_str());iss >> tVal;return tVal;}// 重载+运算符template <typename T>CString operator +(const T& tVal){return CString((this->c_str() + CString(tVal)));}// 重载=运算符template <typename T>CString& operator =(const T& tVal){this->assign(CString(tVal));return *this;}// 重载+=运算符template <typename T>CString& operator +=(const T& tVal){this->append(CString(tVal));return *this;}// 重载<<运算符template <typename T>CString& operator <<(const T& tVal){this->append(CString(tVal));return *this;}// 重载<<运算符template <typename T>CString& operator >>(T& tVal){istringstream iss(this->c_str());iss >> tVal;return *this;}// 格式化字符串CString& Format(const char* pFormat, ...);// 转换为大写CString& Toupper();// 转换为小写CString& Tolower();};// 转换为char*类型template<> CString::operator char*();// 转换为const char*类型template<> CString::operator const char*();}// String.cppnamespace Common{CString::CString(){//ctor}CString::~CString(){//dtor}// 转换为char*类型template <>CString::operator char*(){return (char*)this->c_str();}// 转换为const char*类型template <>CString::operator const char*(){return this->c_str();}// 格式化字符串CString& CString::Format(const char* pFormat, ...){char* pBuff = NULL;va_list params;pBuff = new char[MAX_FORMAT_SIZE];memset(pBuff, 0, MAX_FORMAT_SIZE);va_start(params, pFormat);vsnprintf(pBuff, MAX_FORMAT_SIZE, pFormat, params);va_end(params);this->assign(pBuff);delete[] pBuff;return *this;}// 转换为大写CString& CString::Toupper(){transform(this->begin(), this->end(), this->begin(), ::toupper);return *this;}// 转换为小写CString& CString::Tolower(){transform(this->begin(), this->end(), this->begin(), ::tolower);return *this;}}
0 0
- 增强CString类(字符数值自由转换)
- 数值型和字符型转换,以及string--char*--CString之间的转换
- 数值转换为字符换(1)
- 数值转换为字符
- CString to float 字符转换
- 字符转换错误 int->CString
- 字符 和 数值的转换
- CString与其他字符类型的转换
- 字符类型转换 CString char string
- mfc 字符总结,char* cString相互转换
- 从CString 到 到数值的转换小方法 (原创)
- C/C++ 字符数值IO转换函数
- 字符和数值的相互转换
- javascript 数值与字符传相互转换
- 数值转换为字符转(2)
- 数值与字符(串)类型转换
- Swift字符与ASCII数值相互转换
- 数值、字符之间的相互转换
- ubuntu14.4下安装4412交叉编译器
- 设计模式(1)
- 数据结构之B树
- C语言之指针的用途
- 云汉芯城百万年薪招聘营销副总裁
- 增强CString类(字符数值自由转换)
- LIBCMT.lib与msvcrtd.lib冲突的链接错误
- 1.数据结构树结构的应用
- 数据库连接方式改进
- 个人学习总结一Java的多线程
- Android加载图片导致内存溢出(Out of Memory异常)
- 数据结构之哈希表
- ubuntu 12.04 常用配置
- wav与pcm数据