Danke für die hilfreichen Beiträge.
Deine Lösung @David_pb hebe ich mir für später auf, denn von std::ctype und std::use_facet habe ich ehrlich gesagt noch nie so wirklich was gehört. Zumindest kommt es auch in keinem meiner Bücher vor. Kennt jemand eine gute Internetseite, wo auch solche (eher seltener verwendeten!?) Elemente der STL behandelt werden oder gibt es eine offizielle Referenz?
@Patrick: Deine Lösung ist mir bis auf einen Punkt vollkommen klar: Wieso muss das char-Array in der ersten Spezialisierung aus wcslen (source)*2 Elementen bestehen? wcslen() liefert doch meines Wissens die Länge des Unicode-Strings in Zeichen (nicht in Byte oder Word), welche doch bei der Multibyte-Version identisch sein müsste, oder? Durch die Multiplikation mit 2 hat doch das neue Array am Ende genau soviele Bytes wie das alte, obwohl doch Unicode eigentlich das doppelte belegen müsste!?
Ich weiß, dass es nur mit wcslen (source) nicht klappt, aber ich würde gerne verstehen, wieso, bevor ich deinen Code einfach stumpf übernehme.
Gruß,
ph4nt0m