使用wxStringTokenizer分割字符串

//wxStringTokenizer::wxStringTokenizer  (const wxString & str, 
//                                       const wxString &  delims = wxDEFAULT_DELIMITERS,
//                                       wxStringTokenizerMode  mode = wxTOKEN_DEFAULT
//                                       ) 

//wxTOKEN_DEFAULT:如果分割符为空白字符则等同于wxTOKEN_STRTOK,否则等同于wxTOKEN_RET_EMPTY.
//wxTOKEN_RET_EMPTY:在这种模式,空白部分将作为一个子字符串部分被返回,例如"a::b:"如果用":"分割则返回三个子字符串a, ""和b.
//wxTOKEN_RET_EMPTY_ALL:在这种模式下,最后的空白部分也将作为一个子字符串返回. 这样"a::b:"使用":"分割将返回四个子字符串,其三个和wxTOKEN_RET_EMPTY返回的相同,最后一个则为一个"".
//wxTOKEN_RET_DELIMS:在这种模式下,分割符也作为子字符串的一部分(除了最后一个子字符串,它是没有分割符的),其它方面类似wxTOKEN_RET_EMPTY.
//wxTOKEN_STRTOK:这种情况下,子字符串的产生结果和标准strtok函数完全相同.空白字符串将不作为一个子字符串.

#include 
#include 
wxArrayString StringSplit(const wxString src,const wxString seperator="")
{
    wxArrayString sa;
    wxStringTokenizer tokenizer(src, seperator);
    while ( tokenizer.HasMoreTokens() )
    {
        wxString token = tokenizer.GetNextToken();
        sa.Add(token);
    }
    return sa;
}

void wwFrame::OnAbout(wxCommandEvent& event)
{
    wxArrayString s;
    s=StringSplit("first:second:third:fourth");
    for(int i=0; i

 

你可能感兴趣的:(wxwidgets编程)