必要な関数は、Windows で使用できる標準 C ライブラリにあります。
char theDrive[5],thePath[MAX_PATH],theFilename[MAX_PATH],theExtension[MAX_PATH];
_splitpath(theSCTDataFilename,theDrive,thePath,theFilename,theExtension);
このような、任意の文字列、char、および CStringArray を受け取る、より一般的なトークン化関数を使用することもできます。
void tokenizeString(CString theString, TCHAR theToken, CStringArray *theParameters)
{
CString temp = "";
int i = 0;
for(i = 0; i < theString.GetLength(); i++ )
{
if (theString.GetAt(i) != theToken)
{
temp += theString.GetAt(i);
}
else
{
theParameters->Add(temp);
temp = "";
}
if(i == theString.GetLength()-1)
theParameters->Add(temp);
}
}
CStringArray thePathParts;
tokenizeString("your\complex\path\of\strings\separated\by\slashes",'/',&thePathParts);
これにより、入力文字列の各セクションを含む CString (CStringArray オブジェクト) の配列が得られます。この関数を使用して、文字列を分割する区切り文字がわかっている限り、主要なチャンクを解析してからマイナーなチャンクを解析できます。