You can use std::istream_iterator
to parse the string. Before that you need to replace all delimiters to spaces.
std::vector<int> myarr;
std::string int_str = "3,4,5,6";
std::replace( int_str.begin(), int_str.end(), ',', ' ' );
std::stringstream in( int_str );
std::copy( std::istream_iterator<int>(in), std::istream_iterator<int>(), std::back_inserter( myarr ) );
For UNICODE version it will look like:
std::wstring int_str = L"3,4,5,6";
std::replace( int_str.begin(), int_str.end(), L',', L' ' );
std::wstringstream in( int_str );
std::copy( std::istream_iterator<int, wchar_t>(in), std::istream_iterator<int, wchar_t>(), std::back_inserter( myarr ) );