CString 截取字符串全攻略

    函数在比较时不区分大小写

    参数:   为要和对象比较的字符串,也可以为CString对象

    返回值:如果两个字符串一样则返回0;

 

int strcmp( const char *string1, const char *string2 );

 

注:

    函数在比较时区分大小写

    参数:   为要和对象比较的字符串

 

    返回值:string1=string2返回0

               string1>string2返回>0

               string1<string2返回<0

 

VC++   MFC中两CString字符串不能直接进行比较,需要转换成char*类型来进行比较。

CString  a;

CString  b;

char *pa = (char*)((LPCTSTR)a);

char *pb = (char*)((LPCTSTR)b);

if(!strcmp(pa,pb))

{

      MessageBox("pa==pb");

}

最近用到了这方面的东西,于是把网上所查到的总结了一下,以备查询之用 ^_^

例程1:(csdn)

文件xxxx.dll去掉后面的.dll 
方法1、 
char str[] = "xxxx.dll" 
char*p; 
p=strrchr(str, '.'); 
*p = 0;

方法2、 
CString str="xxxx.dll"; 
int n = str.ReverseFind('.') 
str = str.Left(str.GetLength()-n-1);

例程2:(csdn)

取得一个字符串中第一个 '?'号之前的字符 
方法1
CString m_char,m_disp; 
m_disp="jadfueiuajdf?"; 
m_char="?"; 
if (!m_char.IsEmpty()) 
{ 
int index = m_disp.Find(m_char); 
m_disp = m_disp.Right(m_disp.GetLength()-index-1); 
} 
返回m_disp就行

方法2 
CString temp=the.m_bb; 
CString reslut=temp.Left(temp.Find("?")-1);

例程3:(csdn) 
一个CString类对象m_StrReceiveModem={ATS0=2

OK 
$03#} 
如何截取从$开始的字符串 
方法1

CString m_StrReceiveModem; 
int nPos = m_StrReceiveModem.Find('$'); 
if(nPos >= 0) 
{ 
CString sSubStr = m_StrReceiveModem.Mid(nPos);//包含$,不想包含时nPos+1 
}

方法2 
CString m_StrReceiveModem; 
int nPos = m_StrReceiveModem.Find('$'); 
if(nPos >= 0) 
{ 
CString sSubStr = m_StrReceiveModem.Right(StrReceiveModem.GetLength()-nPos); 
} 
}


Split 函数 
返回基于 0 的一维数组,其中包含指定数目的子字符串。

Split(expression[, delimiter[, count[, start]]])

参数 
expression

必选项。字符串表达式,包含子字符串和分隔符。如果 expression 为零长度字符串,Split 返回空数组,即不包含元素和数据的数组。

delimiter

可选项。用于标识子字符串界限的字符。如果省略,使用空格 ("") 作为分隔符。如果 delimiter 为零长度字符串,则返回包含整个 expression 字符串的单元素数组。

count

可选项。被返回的子字符串数目,-1 指示返回所有子字符串。

Compare

可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。

设置 
compare 参数可以有以下值:

常数 值 描述 
vbBinaryCompare 0 执行二进制比较。 
vbTextCompare 1 执行文本比较。


说明 
下面的示例利用 Split 函数从字符串中返回数组。函数对分界符进行文本比较,返回所有的子字符串。

Dim MyString, MyArray, Msg 
MyString = "VBScriptXisXfun!" 
MyArray = Split(MyString, "x", -1, 1) 
' MyArray(0) contains "VBScript". 
' MyArray(1) contains "is". 
' MyArray(2) contains "fun!". 
Msg = MyArray(0) & " " & MyArray(1) 
Msg = Msg & " " & MyArray(2) 
MsgBox Msg

 

 

//
CString temp=the.m_bb;
CString reslut=temp.Left(temp.Find("A")-1);

转载于:https://www.cnblogs.com/htys/p/3347184.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值