MFC程序测试CString类下的 GetBufferSetLength、ReleaseBuffer、SpanExcluding、Replace、GetLength、TrimRight 函数

1.GetBufferSetLength( )、ReleaseBuffer( )、SpanExcluding( )

void CDemoDlg::OnBnClickedButton1()
{
	CString strMsg;
    // 无论是Unicode字符集 还是 多字节字符集 _T("STSA") 或 L"STSA" 或 "STSA" 皆可
	strMsg = _T("STSA");   

	strMsg.GetBufferSetLength(MAX_PATH);
	strMsg.ReleaseBuffer();
	
	//提取一行数据
	CString str = strMsg.SpanExcluding(_T("\r\n"));
	AfxMessageBox(str);

    //采用多字节字符集时可以不用 _T 或 L"\\SubDir"
	strMsg = strMsg + _T("\\SubDir");  
	AfxMessageBox(strMsg);
}

运行结果如下:

2.Compare( )

void CDemoDlg::OnBnClickedButton2()
{
	CString str(_T("MRKJ"));
	if(str.Compare(_T("MRKJ")) == 0)
	{
        //Unicode 字符集 需要采用 AfxMessageBox(_T("相等")); // 需采用 _T 或 L
		AfxMessageBox(_T("相等"));    
	}
	else
	{
		AfxMessageBox(_T("不相等"));
	}
}

运行结果如下:

3.Replace( )

void CDemoDlg::OnBnClickedButton3()
{
	CString str = _T("ok,mrkj");
	//Replace()函数 返回值:如果发生了替换,返回值为 1; 如果未发生替换,则返回值为 0
	int count = str.Replace(_T("mk"), _T("hello"));  // 替换字符串

	CString m_edit1;
	m_edit1.Format(_T("%d"), count);
	AfxMessageBox(m_edit1);

	AfxMessageBox(str);
}

运行结果如下:

4.GetLength( )、TrimRight( )

void CDemoDlg::OnBnClickedButton4()
{
	CString str1 = _T("abcde---abcde ");   //最后是 1 个空格
 	int m_iOne = str1.GetLength();
	CString m_edit1;
	m_edit1.Format(_T("%d"), m_iOne);
	AfxMessageBox(m_edit1);   // 14
	AfxMessageBox(str1);   //


	CString str2;
	str2 = str1.TrimRight();
	int m_iTwo = str2.GetLength();
	CString m_edit2;
	m_edit2.Format(_T("%d"), m_iTwo);
	AfxMessageBox(m_edit2);  // 13
	AfxMessageBox(str2);
}

运行结果如下:

     注意:此时最后有 1 个空格

     注意:此时最后没有空格

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值