// StringTokenizer.cpp: implementation of the CStringTokenizer class. // ////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "StringTokenizer.h" ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CStringTokenizer::CStringTokenizer(LPCTSTR lpsz, TCHAR chDelimiter): m_nPos(0), m_chDelimiter(chDelimiter) { m_str = lpsz; } CStringTokenizer::~CStringTokenizer() { } BOOL CStringTokenizer::Next(CString &str) { if( m_nPos == -1 ) return false; // µ½ÁË×ÖÌõ·û´®½áβ Ç°ÒÆÁË,±¾À´·ÅÔÚ Find µ÷ÓÃÖ®ºóµÄ 2009/01/05 long nPos = m_str.Find(m_chDelimiter, m_nPos); if( nPos != -1 ) { str = m_str.Mid(m_nPos, nPos - m_nPos); m_nPos = nPos +1; return true; } else { // ×îºóÒ»¸ö str = m_str.Mid( m_nPos ); m_nPos = -1; return true; } str.Empty(); return false; } BOOL CStringTokenizer::Back( CString &str ) { if ( m_nPos -1 ) { str.Empty(); return false; } str = m_str.Mid( m_nPos ); return true; }