"mask,flag" みたいなカンマで区切られた文字列を分割したいときに、_stscanf_s()。
LPCTSTR text = _T("mask,flag"); TCHAR value1[100] = {0}; TCHAR value2[100] = {0}; int count = _stscanf_s(text, _T("%[^,],%[^,]"), value1, _countof(value1), value2, _countof(value2)); if(count < 2) { // 変数に取り込まれた数が足りないからエラー }
%s の変わりに %[取り込まない文字の文字セット] を指定すれば良い。
しらんかった。いつから使えたんだろう。
正規表現の [] と似たような感じで指定できるみたい。
strchr()とかCString::Tokenize()とか正規表現とかとか使いたくない感じの時とか使えるかな。