C++ Wie mehrere Werte aus nem Char Array ausgeben? (C++)

testettester

Newbie
Registriert
Sep. 2018
Beiträge
2
Hi,

muss in C++ ne eigene "Funktion" schreiben, womit ich beliebige Zeichen durch andere ersetzen kann.
Wichtig: ich darf keine vorgefertigten Funktionen, wie strlen oder so benutzen, die mir das erledigt. Ich muss mit Pointern arbeiten.

Mein Code: https://pastebin.com/6cFfUYQj

Ich kann in einem Satz z.B. 1 bestimmtes Zeichen durch ein anderes ersetzen, soweit so gut.
Aber was wenn ich 2 Zeichen nebeneinander durch andere 2 ersetzen will? Wie mache ich das?

Danke :D
 
"muss"? "darf"? Hausaufgabe? Da hättest du vorher mal die Regeln des Forums lesen sollen...
 
Hier! Kannst dir anschauen wie strlen implementiert ist.

Übrigens sehr interessant!
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: testettester
testettester schrieb:
Aber was wenn ich 2 Zeichen nebeneinander durch andere 2 ersetzen will? Wie mache ich das?
Ich würde in etwa so vorgehen (quick&dirty):
C++:
int finde_meinen_text_in(char mein[], char such[])
{
 bool gefunden = false;
 char *m = mein;
 int pos = -1;
 do {
     char *s = such;
     while (*m && *m != *s) m++;
     if (*m) {
         pos = m - mein;
         while (*m && *m == *s) m++, s++;
         gefunden = *s ? false : true;
     }
 } while (*m && !gefunden);
 return gefunden ? pos : -1;
}

 int ersetze_meinen_text_in(char mein[], char such[], char ersetz[])
{
 int pos = finde_meinen_text_in(mein, such);
 if (pos != -1) {
     char *m = mein + pos;
     char *e = ersetz;
     while (*e)
         *m++ = *e++;
 }
 return pos;
}
Und dann im Quelltext einfach:
C++:
 ...
ersetze_meinen_text_in(meinString, such, ersetz);
...
(oder so ähnlich)
 
Zuletzt bearbeitet:
Zurück
Oben