最新の更新情報

 
このブログ「吟遊詩人の戯言」 の記事検索...

【VC++】MFCにて,文字列をデミリタでぶった切る関数

関連記事

PHPやら,C#で言うところの,split()関数ですな

なぜか,VC++,っつうか,MFCには,気の効いた関数なりメソッドなりが,準備されていない件

とある,ソフトでさっくり作ったもんで
このまんま,眠らせておくのもなんなんで
公開しまする

バグってても,ご容赦を,ってことで


void split(CString str, CString delim, CStringArray &result)
{
result.RemoveAll();

int indexback = 0;

CString st;

int i;
for(i = 0; i < str.GetLength(); i++)
{
if (str.GetAt(i) == delim.GetAt(0))
{
if ((i - indexback) == 0)
{
result.Add("");
}
else
{
st = str.Mid(indexback, i - indexback);
result.Add(st);
}
indexback = i + 1;
}
}

if ((i - indexback) != 0)
{
st = str.Mid(indexback, i - indexback);
result.Add(st);
}

}

void func()
{

CString st;
CStringArray aryst;

st = "1,2,3";

split(st, _T(","), aryst);

TRACE(aryst.GetAt(0));

}
[/cpp]

こんな感じで?

 
 
 
 

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">