致力于网页设计制作教程:HTTP://WWW.ASP119.COM

当前位置:首页 > 网络编程 > C++教程

c++中CString与CStringArray相互转换教程

作者:迷失的宇 来源:ASP急救中心 浏览: 添加日期:2010-11-08  我要评论( )

[导读]c++中CString与CStringArray相互转换教程,在我们实际编程中是一个很重要的知识点,下面我们看看二者之间是如何相互转换的,本教程中我们使用的是C++内置的函数Split('')来实现的。具体看下面的教程。

c++中CString与CStringArray相互转换教程,在我们实际编程中是一个很重要的知识点,下面我们看看二者之间是如何相互转换的,本教程中我们使用的是C++内置的函数Split('')来实现的。具体看下面的教程。CString.png
2.png

代码如下:
 

 

//类似C#的Split('_');DivStr(str,strArr,_T("_"));
UINT DivStr(CString str,CStringArray& Arr,char ch)
{
    int nFindposi  = str.Find(ch);
    if( nFindposi <0 )
        return 0;

    while( nFindposi > 0)
    {
        Arr.Add(str.Left(nFindposi) );
        str = str.Right( str.GetLength() - nFindposi -1);
        str.TrimLeft(ch);    //warning

        nFindposi  = str.Find(ch);
    }

    if( !str.IsEmpty() )
        Arr.Add(str);

    return Arr.GetSize();
}

UINT DivStr(CString str,CStringArray& Arr,CString strDiv)
{
    int nFindposi  = str.Find(strDiv);
    if( nFindposi <0 )
        return 0;

    while( nFindposi > 0)
    {
        Arr.Add(str.Left(nFindposi) );
        str = str.Right( str.GetLength() - nFindposi -1);
        str.TrimLeft(strDiv);    //warning

        nFindposi  = str.Find(strDiv);
    }

    if( !str.IsEmpty() )
        Arr.Add(str);

    return Arr.GetSize();
}
void CCStringArrayDlg::OnBnClickedButtonOk()
{
    // TODO: 在此添加控件通知处理程序代码
    CString str = m_str;//_T("i am a student");
    CStringArray strArr;
    //CString转CStringArray
    if( DivStr(str,strArr,_T(" ")) <= 0)
    {
        AfxMessageBox( _T("数组为空!"));
        return;
    }
    //CStringArray转CString
    str = _T("");
    int index =strArr.GetSize();
    for(int i=0;i<index;i++)
    {
        str += strArr[i]+_T("_");
    }
    m_str = str.TrimRight('_');
    UpdateData(false);
}

m_str是Static Text对应的变量。
1.Static Text控件默认ID是IDC_STATIC
必须修改为其他才可以为其添加变量。
2.在构造函数是初始化一些变量,比如Static Text的Caption
CCStringArrayDlg::CCStringArrayDlg(CWnd* pParent /*=NULL*/)
 : CDialog(CCStringArrayDlg::IDD, pParent)
 , m_str(_T("i am a student"))
{
 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
也可以在
BOOL CCStringArrayDlg::OnInitDialog(){}中初始化。

教程结束。 

Tags:

相关文章

文章评论

正在载入评论数据中...
用户名:
  QQ号:
*
  匿名发表
验证码: