Cette question montre comment diviser un string
en un vector
en utilisant un délimiteur .Division de std :: wstring en std :: vector
Question:Right way to split an std::string into a vector
Cependant, l'application de cette technique à wstring
est pas aussi facile que je pensais. Par conséquent, ce n'est certainement pas un doublon du tout.
wstringstream stringStream(str);
istream_iterator<wstring> begin(stringStream);
istream_iterator<wstring> end;
List = vector<wstring>(begin, end);
copy(List.begin(), List.end(), ostream_iterator<wstring>(cout, ";"));
La deuxième ligne ne peut pas être compilé avec VS2015. Et en utilisant istream_iterator<wstring, wchar_t>
provoque une erreur de compilation dans iterator.h
.
Comment puis-je diviser un std::wstring
en std::vector
qui est séparé par ";"
?
Cette méthode fonctionne sur 'std :: string' en utilisant"; " bien que. Donc, travailler uniquement avec un espace blanc est incorrect. Mais je vais essayer votre exemple maintenant. – bytecode77
@ bytecode77 Le code que vous montrez dans votre exemple n'utilise pas la seconde méthode qui peut être divisée en fonction d'autres caractères. Si vous utilisez cette version, vous devriez mettre à jour votre exemple. – NathanOliver
Cela pourrait valoir la peine d'être édité pour battre la maison que dans 'ostream_iterator (cout,"; ")' dans l'échantillon d'OP, tout ça ';' est en train de mettre un ';' après chaque chaîne lors de la sortie du vecteur. Et comme la sortie a lieu après que la chaîne est divisée, elle ne peut avoir aucun effet sur le découpage. –
user4581301