★我要吧★

 找回密码
 注册[Register]
搜索
qq空间相册密码查看为什么登陆后需要激活无法注册?

SString 字符串处理类 C/C++

[复制链接]
发表于 2012-1-19 01:18:00 | 显示全部楼层 |阅读模式
SString 字符串处理类    C/C++
本来打算用list写的...  但是前面已经用了vector了.. 索性就全部都用vector了..  蛋定   看到很奇怪的代码也不要惊讶.. 果断路过就可以了...   有很多不完善的地方.. 暑假再完善.. 有时间了再重写      此版本的目的就3个字  "求拍砖~"



//  字符串处理函数

        //字符串数组
bool        IsEmpty ( void );                        //判断字符串是否为空               
void        Empty   ( void );                        //强制清空字符串
TCHAR        GetAt   ( int nIndex );                //返回在给定位置的字符 (相当于[]操作符)
void         SetAt   ( int nIndex, TCHAR ch );        //设置给定位置上的字符  ([]的赋值没办法重载)
        
//比较
int Compare ( LPCTSTR lpszStr );                //比较两个字符串(大小写敏感)
int Compare ( SString _SStr );                        //比较两个字符串(大小写敏感)
int CompareNoCase ( LPCTSTR lpszStr );                //比较两个字符串(不区分大小写)
int CompareNoCase ( SString _SStr );                //比较两个字符串(不区分大小写)

//提取
SString Right( int nCount );                        //提取一个字符串的中间一部分(类似于BASIC的MID$函数)
SString Left ( int nCount );                        //提取一个字符串的左边一部分(类似于BASIC的LEFT$函数)
SString Mid         ( int nFirst, int nCount );        //提取一个字符串的右边一部分(类似于BASIC的RIGHT$函数)
SString SpanIncludeing ( LPCTSTR lpszStr );        //提取一个字符串,该子字符串中仅含有某一字符集合中的字符。
SString SpanExcludeing ( LPCTSTR lpszStr );        //提取一个字符串,该子字符串中不含有某一字符集合中的字符。

//其他转换
void        MakeUpper   ( void );                        //将字符串中的所有字符转换为大写字符
void        MakeLower   ( void );                        //将字符串中的所有字符转换为小写字符
void    MakeReverse ( void );                                //将字符串中的字符以倒序排列

int Replace( TCHAR chOld, TCHAR chNew );                //用其它字符替换指定的字符(替换所有)
int Replace( LPCTSTR lpszOld, LPCTSTR lpszNew );                //--        
int ReplaceOne ( LPCTSTR lpszOld, LPCTSTR lpszNew );        //用其它字符替换指定的字符(只替换一次)
int ReplaceEx  ( LPCTSTR lpszOld, LPCTSTR lpszNew,        //用其它字符替换指定的字符(可以指定区间)
         int nBegin  = 0,int nEnd = 0 );

int Remove ( TCHAR ch );                                //从一个字符串中移走指定的字符

int Insert( int nIndex, TCHAR ch );                        //在字符串中的给定索引处插入一个字符或一个子字符串
int Insert( int nIndex, LPCTSTR pstr );                        //--

int Delete( int nIndex, int nCount = 1);                         //从一个字符串中删除一个或多个字符
        /*没有完全按照Format来写, 我果断把类型分离出来了 下次再加上原版的*/
void Format( LPCTSTR lpszFormat, ... );                        //像sprintf函数一样格式化该字符串
        /*
        '/' 为取消特殊符号  比如 %i/x  这里就只会处理%i而不会输出16进制的数字
        "/?" 特殊标记 标记被转意的%号
        类型后面表示进制比如 %ix  x为16进制
        %i    int
        %l    long
        %d    double
        %f    float
           ...
        */

//搜索
int Find( TCHAR ch );                //在一个较大的字符串中查找字符或子字符串
int Find( LPCTSTR lpszSub );                //--
int Find( TCHAR ch, int nStart );        //--
int Find( LPCTSTR lpszSub, int nStart );        //--

int ReverseFind ( TCHAR ch );                //在一个较大的字符串中从末端开始查找某个字符(返回匹配的最后一个索引)
int FindOneOf   ( LPCTSTR lpszStr );        //查找与某个字符集合中的字符相匹配的第一个字符(匹配字符串中的任意一个字符)

突然觉得有图片会....(我淫笑了...)
发表于 2012-1-19 02:49:30 | 显示全部楼层
- -这个真的是计算机基础么。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

QQ|手机版|小黑屋|☆我要吧☆ ( 豫ICP备13016831号-1 )

GMT+8, 2024-11-24 08:51 , Processed in 0.062404 second(s), 18 queries .

Powered by abc369 X3.4

© 2001-2023 abc369.

快速回复 返回顶部 返回列表