String in ANSI-C zerlegen

mansenpansen

Mitglied
Wie kann ich (möglichst effizient => schnell) einen String zerlegen, von dem ich weiß, an welchen Stellen ich ihn teilen möchte? Also zum Beispiel die Stellen 0 bis 5 in Teilstring a, die Stellen 6 bis 10 in Teilstring b.....
 
1) Ziel-Arrays anlegen, die gross genug sind.
2) mit memcpy die Zeichen rüberkopieren
3) Null-Terminator setzen

zu 2:

Code:
char          cOriginal[] = "12345abcde67890";

char          cTeil1[6],
                cTeil2[6],
                cTeil3[6];

memcpy( cTeil1, cOriginal, 5 );
cTeil1[5] = 0;

memcpy( cTeil2, cOriginal + 5, 5 );
cTeil2[5] = 0;

memcpy( cTeil3, cOriginal + 10, 5 );
cTeil3[5] = 0;

Müsste direkt so klappen, kann sein, dass man in Ansi-C statt cTeil1 &cTeil[0] einsetzen muss. Ist lange her, dass ich char-Arrays angefasst habe.

std::string > char Array > Affensch**** > char *
 
Kachelator hat gesagt.:
Ah, da hat sich meine hartnäckige Indoktrination ja letzten Endes doch bezahlt gemacht!
:)
Nuja, wenn ich bei GameDev sehe, wie Leute fast schon sinnlos mit OOP um sich werfen und zwischendrin mit char* arbeiten, da können einem schon die Augen tränen.
 
Zurück