Stringoperationen
-
Hallo !
Ich möchte eine Methode schreiben mit der ich einen String in einen anderen einfügen kann.
Beispiel: insert ("Handschuh","bla",4)
Da sollte jetzt an der 4ten Stelle von Handschuh bla geschrieben werden --> Handblaschuh
Wenn ich mir im Inneren dieser Methode einen String
char *tmp;
anlege, muss der doch die Länge String1.length + String2.length haben.
Wie funktioniert das ?
Wäre toll wenn mir das jemand sagen könnte :):)
lG
Petra
-
reden wir von std::string oder von chars
std::string hat schon eine insert methode bsp:
http://cplus.kompf.de/artikel/strings.html
-
Der Methodenaufruf lautet
char* insStr(const char *s1, const char *s2, int i=0){
Ich weiß nicht ob ich da noch mit Strings weiterarbeiten kann.
lG
Petra
-
Derzeit siehts so aus:
char* insStr(const char *s1, const char *s2, int i=0){ char *tmp[sizeof(s1)+sizeof(s2)]; return tmp; }
Da bekomme ich aber immer einen error C2440: 'return' : cannot convert from 'char *[8]' to 'char *'
Ich möchte aber, dass z.B. wenn i<1 ist vorne s2 in tmp kopiert und hinten dran s1.
Danach soll tmp zurückgegeben werden.Geht das überhaupt ?
lG
Petra
-
oh ah uh, du machst da einige fundamentale Fehler. Du solltest dich noch ein wenig mit Pointern und Arrays ausseinander setzen.
http://pw1.netcom.com/~tjensen/ptr/pointers.htm (ist zwar für C, aber die _Basics_ in Pointer und Array Handling sind ja gleich)
Wenn du dich erstmal nicht um die kleinigkeiten kümmern willst, solltest du die bereits angesprochene std::string-Klasse benutzen, die hat schon insert Methoden und was man sonst so brauch.
-
Naja, ich bin ja keine Programmiererin und werde auch keine
Ich mach das nur für meinen Bruder weil er krank ist - deshalb wäre ich auch über ein paar ganz Konkrete Tips sehr glücklich
lG
Petra
-
Petra230 schrieb:
Naja, ich bin ja keine Programmiererin und werde auch keine
Ich mach das nur für meinen Bruder weil er krank ist - deshalb wäre ich auch über ein paar ganz Konkrete Tips sehr glücklichuff das ist nen brett.
schau dir mal das beispiel ganz unten an.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcecrt/htm/_wcecrt_strncpy_wcsncpy.aspaber trotzdem hat kingruedi recht. solle sachen kannst ohne ein bisschen grundwissen machen.
ps: sizeof() auf einen pointer sind immer vier. strlen() gibt dir länge