Ein char-Array mit Umlauten in einem anderen Array kopieren?
-
Hallo zusammen,ich habe folgende Frage:
Das Array in dieser Struktur wird woanderes mit Daten befüllt. Das Array kann auch Umlaute beihnhalten!
typedef struct kette { char infoFeld[256]; } Kette_def;
Ich muss die relevanten Daten an einem bestimmten Position bis zum Ende des Array lesen. Das Array ist null terminiert.
Kette_def k; char *pKette = k.infoFeld; int pos = 180; const int SIZE = 256 - pos; // Ergebnis ist 76 // Ein neues Array mit Länge 76 deklarieren char *ziel = new char[SIZE];
Wie kann ich jetzt aus pKette von Position 180 bis zum Ende des Array in Array ziel kopieren, aber die Umlaute
dürfen nicht verloren gehen!Muss ich die Funktion WideCharToMultiByte oder MultiByteToWideChar benutzen, um Umlaute nicht zu verlieren?
Danke
-
strcopy oder memcopy (ersteres kopiert bis zum '\0', letzteres bekommt eine feste Anzahl gegeben). Solange du nicht zwischen ASCII (DOS) und Windows-Zeichensatz hin und her wechselst, bleiben die Umlaute und Sonderzeichen so erhalten, wie sie sind.
-
Danke für den Tipp
Mit memcpy funktioniert sehr gut.