📄 stringutils.cpp
字号:
// StringUtils.cpp: implementation of the StringUtils class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
//#include "RWExcel.h"
#include "StringUtils.h"
#include <afxtempl.h>
// #ifdef _DEBUG
// #undef THIS_FILE
// static char THIS_FILE[]=__FILE__;
// #define new DEBUG_NEW
// #endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
StringUtils::StringUtils()
{
}
StringUtils::~StringUtils()
{
}
//------------------------
// SplitString in MFC
//------------------------
int StringUtils::SplitString(const CString& input,
const CString& delimiter, CStringArray& results)
{
int iPos = 0;
int newPos = -1;
int sizeS2 = delimiter.GetLength();
int isize = input.GetLength();
CArray<INT, int> positions;
newPos = input.Find (delimiter, 0);
if( newPos < 0 ) { return 0; }
int numFound = 0;
while( newPos > iPos )
{
numFound++;
positions.Add(newPos);
iPos = newPos;
newPos = input.Find (delimiter, iPos+sizeS2+1);
}
for( int i=0; i <= positions.GetSize(); i++ )
{
CString s;
if( i == 0 )
s = input.Mid( i, positions[i] );
else
{
int offset = positions[i-1] + sizeS2;
if( offset < isize )
{
if( i == positions.GetSize() )
s = input.Mid(offset);
else if( i > 0 )
s = input.Mid( positions[i-1] + sizeS2,
positions[i] - positions[i-1] - sizeS2 );
}
}
if( s.GetLength() > 0 )
results.Add(s);
}
return numFound;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -