ComStr.h


#pragma once #include <string>
#include <vector>
using namespace std; class ComStr
{
public: //CString
//============================================================================================================= /*
func:CString 转换为 string
cs:待转换的CString
ret:转换后的string
*/
static string CStringToString(CString cs); /*
func:CString 转换为 char[]
cs:待转换的CString
ptrch:转换后的char[]
*/
static bool CStringTopchar(CString cs, char* ptrch); /*
func:CString 转换为 PCHAR
cs:待转换的CString
pch:转换后的PCHAR
*/
static bool CStringToPCHAR(CString cs, PCHAR pch); /*
func:string 转换为 CString
str:待转换的string
ret:转换后的CString
*/
static CString stringToCString(string str); /*
func:char[] 转换为 CString
ptrch:待转换的char[]
ret:转换后的CString
*/
static CString pcharToCString(const char* ptrch); /*
func:PCHAR 转换为 CString
pch:待转换的PCHAR
ret:转换后的CString
*/
static CString PCHARToCString(PCHAR pch); //string
//============================================================================================================= /*
func:字符串分割
str:待分割的字符串
ch:分割字符
ret:分割完成的字符串容器
*/
static vector<string> stringSplit(string str, char ch); /*
func:字符串替换指定字符串
str:待替换的的字符串
strOld:需要被替换的字符串
strNew:指定的字符串
ret:替换完成的字符串
*/
static string stringReplace(string str, string strOld, string strNew); //string to num [unsigned]
//============================================================================================================= /*
func:按照指定基数将字符串转换为unsigned char型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
iBase:基数
ret:转换后的数字
*/
static unsigned char stringToUChar(string str, int iBase); /*
func:按照十进制将字符串转换为unsigned char型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static unsigned char stringToUCharDec(string str); /*
func:按照十六进制将字符串转换为unsigned char型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static unsigned char stringToUCharHex(string str); /*
func:按照指定基数将字符串转换为unsigned short型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
iBase:基数
ret:转换后的数字
*/
static unsigned short stringToUShort(string str, int iBase); /*
func:按照十进制将字符串转换为unsigned short型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static unsigned short stringToUShortDec(string str); /*
func:按照十六进制将字符串转换为unsigned short型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static unsigned short stringToUShortHex(string str); /*
func:按照指定基数将字符串转换为unsigned int型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
iBase:基数
ret:转换后的数字
*/
static unsigned int stringToUInt(string str, int iBase); /*
func:按照十进制将字符串转换为unsigned int型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static unsigned int stringToUIntDec(string str); /*
func:按照十六进制将字符串转换为unsigned int型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static unsigned int stringToUIntHex(string str); /*
func:按照指定基数将字符串转换为unsigned long型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
iBase:基数
ret:转换后的数字
*/
static unsigned long stringToULong(string str, int iBase); /*
func:按照十进制将字符串转换为unsigned long型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static unsigned long stringToULongDec(string str); /*
func:按照十六进制将字符串转换为unsigned long型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static unsigned long stringToULongHex(string str); /*
func:按照指定基数将字符串转换为unsigned long long型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
iBase:基数
ret:转换后的数字
*/
static unsigned long long stringToULongLong(string str, int iBase); /*
func:按照十进制将字符串转换为unsigned long long型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static unsigned long long stringToULongLongDec(string str); /*
func:按照十六进制将字符串转换为unsigned long long型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static unsigned long long stringToULongLongHex(string str); //string to num [signed]
//============================================================================================================= /*
func:按照指定基数将字符串转换为char型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
iBase:基数
ret:转换后的数字
*/
static char stringToChar(string str, int iBase); /*
func:按照十进制将字符串转换为char型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static char stringToCharDec(string str); /*
func:按照十六进制将字符串转换为char型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static char stringToCharHex(string str); /*
func:按照指定基数将字符串转换为short型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
iBase:基数
ret:转换后的数字
*/
static short stringToShort(string str, int iBase); /*
func:按照十进制将字符串转换为short型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static short stringToShortDec(string str); /*
func:按照十六进制将字符串转换为short型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static short stringToShortHex(string str); /*
func:按照指定基数将字符串转换为int型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
iBase:基数
ret:转换后的数字
*/
static int stringToInt(string str, int iBase); /*
func:按照十进制将字符串转换为int型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static int stringToIntDec(string str); /*
func:按照十六进制将字符串转换为int型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static int stringToIntHex(string str); /*
func:按照指定基数将字符串转换为long型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
iBase:基数
ret:转换后的数字
*/
static long stringToLong(string str, int iBase); /*
func:按照十进制将字符串转换为long型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static long stringToLongDec(string str); /*
func:按照十六进制将字符串转换为long型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static long stringToLongHex(string str); /*
func:按照指定基数将字符串转换为long long型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
iBase:基数
ret:转换后的数字
*/
static long long stringToLongLong(string str, int iBase); /*
func:按照十进制将字符串转换为long long型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static long long stringToLongLongDec(string str); /*
func:按照十六进制将字符串转换为long long型整数[不检查合法性,默认为字符串合法]
str:待转换的字符串
ret:转换后的数字
*/
static long long stringToLongLongHex(string str);
};

ComStr.cpp

#include "ComStr.h"

string ComStr::CStringToString(CString cs)
{
int len = cs.GetLength();
PCHAR pch = new char[len + 1];
size_t pchSize = wcstombs(pch, cs, len + 1);
if (pchSize == wstring::npos)
{
delete pch;
return "";
} string str(pch);
delete pch;
return str;
} bool ComStr::CStringTopchar(CString cs, char * ptrch)
{
int len = cs.GetLength();
PCHAR pch = new char[len + 1];
size_t pchSize = wcstombs(pch, cs, len + 1);
if (pchSize == wstring::npos)
{
delete pch;
return false;
} string str(pch);
delete pch;
memccpy(ptrch, str.c_str(), sizeof(char), str.size());
ptrch[str.size()] = 0;
return true;
} bool ComStr::CStringToPCHAR(CString cs, PCHAR pch)
{
int len = cs.GetLength();
PCHAR pch_ = new char[len + 1];
size_t pchSize = wcstombs(pch_, cs, len + 1);
if (pchSize == wstring::npos)
{
delete pch_;
return false;
} string str(pch_);
delete pch_;
memccpy(pch, str.c_str(), sizeof(char), str.size());
pch[str.size()] = 0;
return true;
} CString ComStr::stringToCString(string str)
{
return CString(str.c_str());
} CString ComStr::pcharToCString(const char* pch)
{
return CString(pch);
} CString ComStr::PCHARToCString(PCHAR pch)
{
return CString(pch);
} vector<string> ComStr::stringSplit(string str, char ch)
{
vector<string> StrVec;
while (true)
{
int iPos = str.find_first_of(ch); if (str.npos == iPos)
{
StrVec.push_back(str);
break;
} StrVec.push_back(str.substr(0, iPos));
str = str.substr(iPos + 1);
} return StrVec;
} string ComStr::stringReplace(string str, string strOld, string strNew)
{
size_t iPos = str.find(strOld, 0);
while (str.npos != iPos)
{
str.replace(iPos, strOld.length(), strNew);
iPos += strNew.length();
iPos = str.find(strOld, iPos);
} return str;
} unsigned char ComStr::stringToUChar(string str, int iBase)
{
unsigned long ulRet = stoul(str, 0, iBase);
unsigned char ucRet = ulRet;
return ucRet;
} unsigned char ComStr::stringToUCharDec(string str)
{
unsigned long ulRet = stoul(str, 0, 10);
unsigned char ucRet = ulRet;
return ucRet;
} unsigned char ComStr::stringToUCharHex(string str)
{
unsigned long ulRet = stoul(str, 0, 16);
unsigned char ucRet = ulRet;
return ucRet;
} unsigned short ComStr::stringToUShort(string str, int iBase)
{
unsigned long ulRet = stoul(str, 0, iBase);
unsigned short usRet = ulRet;
return usRet;
} unsigned short ComStr::stringToUShortDec(string str)
{
unsigned long ulRet = stoul(str, 0, 10);
unsigned short usRet = ulRet;
return usRet;
} unsigned short ComStr::stringToUShortHex(string str)
{
unsigned long ulRet = stoul(str, 0, 16);
unsigned short usRet = ulRet;
return usRet;
} unsigned int ComStr::stringToUInt(string str, int iBase)
{
unsigned long ulRet = stoul(str, 0, iBase);
unsigned int uiRet = ulRet;
return uiRet;
} unsigned int ComStr::stringToUIntDec(string str)
{
unsigned long ulRet = stoul(str, 0, 10);
unsigned int uiRet = ulRet;
return uiRet;
} unsigned int ComStr::stringToUIntHex(string str)
{
unsigned long ulRet = stoul(str, 0, 16);
unsigned int uiRet = ulRet;
return uiRet;
} unsigned long ComStr::stringToULong(string str, int iBase)
{
return stoul(str, 0, iBase);
} unsigned long ComStr::stringToULongDec(string str)
{
return stoul(str, 0, 10);
} unsigned long ComStr::stringToULongHex(string str)
{
return stoul(str, 0, 16);
} unsigned long long ComStr::stringToULongLong(string str, int iBase)
{
return stoull(str, 0, iBase);
} unsigned long long ComStr::stringToULongLongDec(string str)
{
return stoull(str, 0, 10);
} unsigned long long ComStr::stringToULongLongHex(string str)
{
return stoull(str, 0, 16);
} char ComStr::stringToChar(string str, int iBase)
{
long lRet = stol(str, 0, iBase);
char cRet = lRet;
return cRet;
} char ComStr::stringToCharDec(string str)
{
long lRet = stol(str, 0, 10);
char cRet = lRet;
return cRet;
} char ComStr::stringToCharHex(string str)
{
long lRet = stol(str, 0, 16);
char cRet = lRet;
return cRet;
} short ComStr::stringToShort(string str, int iBase)
{
long lRet = stol(str, 0, iBase);
short sRet = lRet;
return sRet;
} short ComStr::stringToShortDec(string str)
{
long lRet = stol(str, 0, 10);
short sRet = lRet;
return sRet;
} short ComStr::stringToShortHex(string str)
{
long lRet = stol(str, 0, 16);
short sRet = lRet;
return sRet;
} int ComStr::stringToInt(string str, int iBase)
{
long lRet = stol(str, 0, iBase);
int iRet = lRet;
return iRet;
} int ComStr::stringToIntDec(string str)
{
long lRet = stol(str, 0, 10);
int iRet = lRet;
return iRet;
} int ComStr::stringToIntHex(string str)
{
long lRet = stol(str, 0, 16);
int iRet = lRet;
return iRet;
} long ComStr::stringToLong(string str, int iBase)
{
return stol(str, 0, iBase);
} long ComStr::stringToLongDec(string str)
{
return stol(str, 0, 10);
} long ComStr::stringToLongHex(string str)
{
return stol(str, 0, 16);
} long long ComStr::stringToLongLong(string str, int iBase)
{
return stoll(str, 0, iBase);
} long long ComStr::stringToLongLongDec(string str)
{
return stoll(str, 0, 10);
} long long ComStr::stringToLongLongHex(string str)
{
return stoll(str, 0, 16);
}

静态库封装之ComStr类的更多相关文章

  1. 使用libzplay库封装一个音频类

    装载请说明原地址,谢谢~~      前两天我已经封装好一个duilib中使用的webkit内核的浏览器控件和一个基于vlc的用于播放视频的视频控件,这两个控件可以分别用在放酷狗播放器的乐库功能和MV ...

  2. iOS xcode创建静态库封装自己的SDK及使用

    https://www.cnblogs.com/JustForHappy/p/5773039.html 一,静态库和动态库的区别在这里就不说了,个人感觉如果是自己封装提供别人下载的话应该是静态库比较方 ...

  3. iOS SDK开发之 .a静态库

    查看.framework静态库的生成及使用单击此处 注:这篇教程将只使用一小部分Objective-C代码,本文主要讲解从开始到应用的详细步骤.环境:xcode 9.2下面我们开始操作: 第一步:创建 ...

  4. 封装ios静态库碰到的一些问题(三)

    静态库封装好以后,就存在一个问题,静态库,模拟器的静态库何真机的静态库是分开的,那么能够合并,答案是肯定的,但是必须我们手工在终端工具下执行命令合并 lipo -create Release-ipho ...

  5. 使用静态库的一些问题 -all_load

    1.使用类目在我们的静态库中涉及到 类目 catagory的使用时,会崩溃:此时我们需要设置project的Info里面的Link Flag处,增加-all_load,这样会链接所以存在的symbol ...

  6. 在iOS中创建静态库

    如果您有不错的原创或译文,欢迎提交给我们,更欢迎其他朋友加入我们的翻译小组(联系qq:2408167315).  =========================================== ...

  7. Xcode 5.1 编译模拟器以及真机都能使用的静态库

    Xcode 5.1.dmg 下载地址 http://pan.baidu.com/s/1jGJpKm6 1.新建 Framework & Library 工程 我起名叫ShowInfo,下面为其 ...

  8. 封装qq分享静态库到cocopod

    封装qq分享静态库到cocopod  1,创建framework库,到腾讯开放平台(open.qq.com)申请项目appid 2,将iOS SDK中的TencentOpenAPI.framework ...

  9. iOS 静态库的封装

    参考网址:http://www.jianshu.com/p/b754709135fb http://www.jianshu.com/p/443a5b8f3894   注意:封装静态库时要注意的地方: ...

  10. 封装自己的framework静态库

    ios中我们写的代码有时不愿意让别人看到,可能对它进行封装,生成一个静态库如典型的.a,还有一种就是和 苹果自带的库一样的后缀名为.framework的库,个人推荐使用.framework,因为.a不 ...

随机推荐

  1. ubuntu desktop改用无桌面方式启动

    事情是这样的,平时需要使用Ubuntu系统跑一下深度学习的AI代码,但是有时候就会十分的尴尬的遇到显存差几百兆不够的时候,这时候就能看到显卡上正好有这部分显存被Ubuntu的可视化界面的desktop ...

  2. [POI2008] POC-Trains 题解

    前言 题目链接:洛谷. 时间复杂度和输入同阶的做法. 题意简述 有 \(n\)(\(n \leq 10^3\))个长 \(m\) 的字符串,\(q\)(\(q \leq 10^5\))次操作,交换两个 ...

  3. Kotlin 面向对象编程 (OOP) 基础:类、对象与继承详解

    什么是面向对象编程 (OOP)? OOP 代表面向对象编程. 过程式编程是编写执行数据操作的过程或方法,而面向对象编程则是创建包含数据和方法的对象. 与过程式编程相比,面向对象编程具有以下几个优势: ...

  4. 【题解】ABC365(A~E)

    前四题30min切,然后T5死磕70min+几发小唐错,距离比赛结束还有16s交最后一发,AC了. 目录 A. Leap Year 题目描述 思路 代码 B. Second Best 题目描述 思路 ...

  5. 【SpringCloud学习笔记(一)】搭建一套环境

    学习的目的 最近做的项目中用到了Spring Cloud,为了能够更好的做好项目,自然少不了去研究一下Spring Cloud. 我的计划是结合一些书本和课程,自己写一点简单的Demo代码,验证Spr ...

  6. Mybatis Log 插件

    目前的idea插件已经开始收费---找了一个免费的插件安装到idea中重启一下就可以了 百度网盘提取码:sjc8

  7. 带你了解 WebAssembly 的发展、应用与开发

    一.WebAssembly 是什么? "WebAssembly(缩写为 Wasm)是一种基于堆栈式虚拟机的二进制指令集.Wasm 被设计成为一种编程语言的可移植编译目标,并且可以通过将其部署 ...

  8. Go channel 介绍

    Go 语言(Golang)中的 chan 是通道(channel)的缩写,用于在不同的 goroutine 之间进行通信.通道允许你在 goroutine 之间传递数据,从而实现同步和共享内存.下面是 ...

  9. 【Mac】之本地连接虚拟机linux环境

    上一篇安装完centos虚拟机之后,如何远程连接呢? 先进入虚拟机的界面: 发现没有bash 终端输入: # -bash :telnet:command not found # 发现是虚拟机没有安装 ...

  10. JVM学习笔记之类装载器-ClassLoader

    JVM学习笔记之类装载器-ClassLoader 本文字数:2300,阅读耗时7分钟 JVM体系结构概览 类装载器ClassLoader: 负责加载class文件,class文件在文件开头有特定的文件 ...