Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » String teilen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
30.04.2004, 12:21 Uhr
~Zerberus
Gast


Wie kann ich einem Array den Inhalt eines anderen Arrays ab einer bestimmten Stelle einfügen?
z.B. habe ich einen String (char string[] = "hallo du ,wie gehts?") und möchte alles ab 3 Stellen nach dem 'wie' in ein anderes Array kopieren.(also im Prinzip ab 'gehts' ; ist aber wichtig diese 3 Zeichen mit einzubauen, weil da noch was anderes zwischen soll; später)

Ich habs so versucht, was aber nicht klappt:


C++:
char string[]="hallo du ,wie gehts?";
char array[];
char *pos = strstr(string, "wie");
strncpy(array, pos, strlen(string));

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.04.2004, 12:43 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


erstmal solltst du für dein array speicher reservervieren

C++:
char array[1024];



kopieren kannst du dann so (ungetestet)

C++:
memcpy(array,pos+strlen("wie"),strlen(string+pos+strlen("wie"))+1);


array ist der ort wo du hin kopieren willst
pos+strlen("wie") die position ab der du kopieren willst
das andere die anzahl an zeichen die du kopieren willst
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 30.04.2004 um 12:43 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.04.2004, 12:57 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


wieso so umständlich?

C++:
strcpy(array,strstr(string,"wie")+3);

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.04.2004, 13:25 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

wieso so umständlich?


memcpy macht ja nichts anders ausser das du die länge selber angeben musst.
bei strcpy besteht die gefahr das du in einen buffer mehr kopierst als das er gross ist wo hingegeben bei den anderen achtest du quasi expliziet drauf wieviel zeichen du kopierst, man sollte natürlich vorher gucken ob die anzahl nicht grösser ist als die des buffers was ich zugegebener massen nicht gemacht habe. dann schon liebr strncpy verwenden aber strcpy ist ein ganz übler befehl
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
30.04.2004, 14:38 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Ach wenn andere Anwendungen nit wollen das ich ihren speicher überschreibe dann sollen sen gefälligst besser schützen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: