新近开始接触C++
开发环境为vs2008由于系统提供的字符串函数功能不爽,比如VB中的Left、Right、Mid等就很好用。现想自己来实现类似功能,针对单独的SBCS或Unicode都比较好实现,因为它们每个字符编码都是相等的。问题是想实现的函数要可以处理SBCS MBCS UNICODE等编码。假设有一字符串:/*
求以下三个函数的实现过程
strS 源字符串
strD 目标字符串
iSize 截取的字符数
iBegin 开始截取的位置,基于0
*/
void strLeftCut(TCHAR *strS,TCHAR *strD,UINT iSize);
void strRightCut(TCHAR *strS,TCHAR *strD,UINT iSize);
void strMidCut(TCHAR *strS,TCHAR *strD,UINT iBegin,UINT iSize);TCHAR *strSource = _T("a中b文c啊1▲2○3◇4○");
TCHAR strLeft[100] = {0};
TCHAR strRight[100] = {0};
TCHAR strMid[100] = {0};strLeftCut(strSource,strLeft,5);
strRightCut(strSource,strLeft,4);
strMidCut(strSource,strLeft,5,3);
开发环境为vs2008由于系统提供的字符串函数功能不爽,比如VB中的Left、Right、Mid等就很好用。现想自己来实现类似功能,针对单独的SBCS或Unicode都比较好实现,因为它们每个字符编码都是相等的。问题是想实现的函数要可以处理SBCS MBCS UNICODE等编码。假设有一字符串:/*
求以下三个函数的实现过程
strS 源字符串
strD 目标字符串
iSize 截取的字符数
iBegin 开始截取的位置,基于0
*/
void strLeftCut(TCHAR *strS,TCHAR *strD,UINT iSize);
void strRightCut(TCHAR *strS,TCHAR *strD,UINT iSize);
void strMidCut(TCHAR *strS,TCHAR *strD,UINT iBegin,UINT iSize);TCHAR *strSource = _T("a中b文c啊1▲2○3◇4○");
TCHAR strLeft[100] = {0};
TCHAR strRight[100] = {0};
TCHAR strMid[100] = {0};strLeftCut(strSource,strLeft,5);
strRightCut(strSource,strLeft,4);
strMidCut(strSource,strLeft,5,3);
解决方案 »
- windows中 线程是并发执行的吗?如果创建一个优先级高的线程,那么主线程会挂起吗?和CPU的多核和单核有关系吗
- 有关于Windows程序窗口过程函数的问题
- 关于FTP的问题??????????
- 我的全局WH_GETMESSAGE钩子为什么只能在调用该dll的程序的客户区截获消息?
- 我做了个这样的程序如何解决
- 菜鸟提问:关于编辑框的问题
- 求助,关于串口编程,(2k下,使用sdk,不是mfc)
- 在SDI中用Serialize函数存文本文件为什么文件前会另外加上一个字符?
- VS2010创建菜单遇到的问题
- 请教高手:如何在基于Dialog的VC程序中添加工具条?---初学者的困惑
- VC高手进来下!关于一个DLL的问题
- AfxGetApp问题
CString str(TCHAR*);
str.Left
str.Right
str.Mid
但是看string源码就像看天书一样所以想请教给个思路