PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : char-Array nachträglich manipulieren in C



bugmenot
05-01-2007, 02:47
Hi,

ich habe eine Frage zum nachträglichen Einfügen / Ändern von Char-Arrays:

Also man übergipt per argv einen "String". Jetzt möchte ich vor diesen String noch ein Char einfügen und nach diesem String auch.

Angenommen jemand übergibt als Parameter mit argv "Hallo". Dann möchte ich davor noch ein X und danach ein Y haben. Am Ende möchte ich dann ein Char-Array "XHalloY" haben.

Etwas davor zu setzen ist ja nicht weiter schwierig. Ich habe mir das so gedacht:

char fertigesArray[32];
fertigesArray[0] = 'X'
int i;
for (i = 1; i < (wie lange denn); i++) {
fertigesArray[1] = argv[1][i];
}
und dann an i + 1 das Y hängen.

Wie finde ich heraus, wie lang der String ist, der mit argv übergeben wurde?
Wenn man die Länge nicht ausfindig machen kann, wie kann ich mein Problem dann lösen?

Vielen Dank!

Thomas Engelke
05-01-2007, 07:50
Einmal mittels sprintf zusammenfügen:

sprintf(zielvariable, "X%sY", argv[1]);

Ist natürlich höllisch unsicher, aber wenigstens einfach.

TME

tradiaz
05-01-2007, 11:08
eine char* länge bestimmen geht mit strlen(), soweit dieser \0-terminated ist.
schneller bist du übrigens mit memcpy() beim kopieren der chars
aber du solltest am besten Thomas' methode benutzen.