C++ 各种数据类型转换总结(不断更新中.....)
写这篇博文的初衷就是让大家更好用类型转换。不然每次都找很麻烦,希望大家可以在下面添加,不断累积。
期间引用了多名博主,整合一波
1.const char * 转 wchar_t*类型:
//const char*转wchar_t*
wchar_t* charToWChart(const char *str)
{int length = strlen(str)+1;wchar_t *t = (wchar_t*)malloc(sizeof(wchar_t)*length);memset(t,0,length*sizeof(wchar_t));MultiByteToWideChar(CP_ACP,0,str,strlen(str),t,length);return t;
}
2.std::string字符串替换
//替换字符串
//@param: pszSrc:原先字符串
//@param: pszOld:需要替换的字符串
//@param: pszNew:替换的新字符串
//@return:替换完成的字符串
static std::string replace_str(const char *pszSrc, const char *pszOld, const char *pszNew)
{std::string strContent, strTemp;strContent.assign( pszSrc );std::string::size_type nPos = 0;while( true ){nPos = strContent.find(pszOld, nPos);strTemp = strContent.substr(nPos+strlen(pszOld), strContent.length());if ( nPos == std::string::npos ){break;}strContent.replace(nPos,strContent.length(), pszNew );strContent.append(strTemp);nPos +=strlen(pszNew) - strlen(pszOld)+1; //防止重复替换 避免死循环}return strContent;
}
3.char*转std::wstring
std::wstring charToWstring(char* szIn)
{int length = MultiByteToWideChar(CP_ACP, 0, szIn, -1, NULL, 0);WCHAR* buf = new WCHAR[length+1];ZeroMemory(buf, (length + 1) * sizeof(WCHAR));MultiByteToWideChar(CP_ACP, 0, szIn, -1, buf, length);std::wstring strRet(buf);delete[] buf;return strRet;
}
4.wchar_t*转std::string
std::string w2a(wchar_t* szIn)
{int nSize = WideCharToMultiByte(CP_ACP, 0, szIn, -1, NULL, NULL, NULL, NULL);char* buffer = new char[nSize+1];ZeroMemory(buffer,nSize+1);WideCharToMultiByte(CP_ACP, 0, szIn, -1, buffer, nSize, NULL, NULL);std::string strRet(buffer);delete[] buffer;return strRet;
}
5.std::string判断结尾是否包含某字符:
//判断字符串结尾是否包含某字符;
//[in]s:字符串,[in]sub:包含字符
//return:1:包含 0:包含
bool endsWith(std::string s, std::string sub) {return s.rfind(sub) == (s.length() - sub.length()) ? true : false;
}
6.分割字符串
//分割字符串
std::vector<std::string> split_str(std::string str, std::string pat)
{std::vector<std::string> bufStr;while (true){int index = str.find(pat);std::string subStr = str.substr(0, index);if (!subStr.empty())bufStr.push_back(subStr);str.erase(0, index + pat.size());if (index == -1)break;}return bufStr;
}
C++ 各种数据类型转换总结(不断更新中.....)相关推荐
- SQL Server 2008处理隐式数据类型转换在执行计划中的增强
关注我们获得更多内容 作者 | 邹建,资深数据库专家,精通各项 SQL Server 技术,具有丰富的管理.维护.优化能力以及业务应用经验.他一直热心于技术知识的分享.传播,持续活跃在 CSDN 和 ...
- 数据库SQL语言学习--数据查询(持续更新中)
数据库SQL语言学习--数据查询(持续更新中) 上机练习1 1. 启动SQL Server 2008中的 SQL Server Management Studio. 2. ...
- ECharts数据可视化项目-大屏数据可视化【持续更新中】
ECharts数据可视化项目-大屏数据可视化[持续更新中] 文章目录 ECharts数据可视化项目-大屏数据可视化[持续更新中] 一. 数据可视化ECharts使用 二.技术栈 三.数据可视化 四.可 ...
- HQL语句中数据类型转换,及hibernate中createQuery执行hql报错
一.HQL语句中数据类型转换: 我们需要从数据库中取出序号最大的记录,想到的方法就是使用order by子句进行排序(desc倒序),然后取出第一个对象,可是当初设计数据库时(我们是在原来的数据库的基 ...
- PHP中数据类型转换有多少种,PHP中数据类型转换的三种方式
PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: 1.(int).(integer):转换成整形 2.(float).(double).(real):转换成浮点型 3.(string): ...
- 数据仓库在HDFS上存储数据的路径(持续更新中)
组件名称 WEB UI路径 HDFS 路径 Hive内表t1 http://desktop:9870/explorer.html#/user/hive/warehouse/t1 hdfs://Desk ...
- java中数据类型转换、ASCII编码
数据类型转换: JAVA语言中要求参与计算的数据类型要保持一致,如果不一致则会发生数据类型转换,数据类型转换可分为:自动类型转换(隐式转换)和强制类型转换(显式转换). 自动类型转换:代码不需要特殊处 ...
- c++interesting转换为uint_1.6运算符及数据类型转换
运算符 1. 算数运算符 算数运算符就像平时计算用的加减乘除,用于对参数进行各种计算.如: a = 20 b = 10 print(a+b) # 30 print(a-b) # 10 print(a* ...
- matlab强制数据类型转换
>> x=uint8(8); >> class(x) %查看类型 ans = uint8 >> y=double(x); %转双精度 >> class( ...
- number类型转换java_Number()数据类型转换
Number() 如果是 Boolean 值, 和. 如果是数字值,只是简单的传入和返回. 如果是 . 如果是 undefined,返回NaN. 如果是字符串,遵循下列规则: 如果字符串中只包含数字( ...
最新文章
- 机器人流程自动化技术的新发展
- C专家编程--读书笔记九 再论数组
- 指针、数组、函数阶段小结
- 吴恩达机器学习:逻辑回归
- Linux下JRE添加字体
- lottie动画_极光小课堂 | 用 Lottie 实现超炫酷动画
- 【Xamarin.Android】探索android的底部导航视图
- BaseAdapter使用的三种形式,逗比式,普通式,文艺式
- python差异性分析_能用SPSS进行差异显著性分析吗
- 腾讯「文涌 (Effidit)」2.0版发布,打造更懂写作的智能助手
- github python100天_GitHub - CherryXuan/Python-100-Days: Python - 100天从新手到大师
- 【python】类型约束(类型提示的作用)
- 美的集团的命,智能家居来续?
- C++OpenCV系统学习(17)——图像分割与抠图(4)Grabcut
- 通过文件url地址获取base64;通过图片url地址获取base64;js获取文件的base64
- 编程之美-翻烙饼问题
- column-count瀑布流导致元素被截断-解决方法
- 微信怎么找城市服务器,微信城市服务在哪里 怎么开通使用
- 华为MPLSVPN与GRE隧道配置练习
- Python: 每日一题之平方和