Chars miteinander verbinden
-
Hi,
ich möchte gerne wissen, wie ich char's miteinander verbinden kann. Also
char a("A");
char b("B");Verbindung "AB"
Wie funktioniert das?
MfG Andi
-
strcat
-
YASC schrieb:
strcat
Danke YASC schonmal dafür, aber ich habe ein Problem.
Ich möchte in einer While-Schleife, immer wenn diese ein Leerzeichen enthält das vorherige in einem String a abspeichern.
Ungefähr in folgender Art und Weise:
char c; string a; while(Quelle.get(c)) { if (c==' ') a('') ; else //an a den Char c anhägen }
Wenn kein Leerzeichen eingelesen wird, soll er zum vorherigen String den aktuellen char c dranhängen und bei c==' ' soll er den String a wieder löschen, also auf ' '.
Wie funktioniert das mit dem char anhängen an einen String während einer while-Schleife?
MfG Andi
-
a += c, und a = ""
denke ich
-
YASC schrieb:
a += c, und a = ""
denke ichWieso das denn?
Ein char belegt doch nicht mehr als ein Byte Speicher. Wie willst du dann mehr als ein Zeichen darin abspeichern.
Klar, der Compiler meckert zwar nicht, wenn du schreibstint main() { char a('a'), b('b'); a += b; std::cout << "\n a: " << b << std::endl; return 0; }
Aber hier wird a zu seinem bestehenden Wert 97 noch der Wert 98 zugewiesen. Dies gibt den ASCII-Code 195 und es wird das entsprechende Zeichen ausgegeben. (K.A. welches genau).
Oder sehe ich da was falsch?/edit:
Ansonsten denke ich um chars zu verknüpfen gibt es keine andere Möglichkeit als dass du einen char [] oder noch besser einen std::string verwendest.Beispiel: (Ungetestet)
int main() { char b; std::string s("A"); do { cin.get(b); if(b == ' ') s = ""; else if(b != '\n') s += b; } while(b != '\n'); std::cout << "\n s: " << s << '\n'; return 0; }
Caipi
-
caipi? a ist ein string...
-
@XanderCage:
Uuuups.Sorry für meine Kritik. Da war ich wohl mal wieder zu schnell.
@otze:
DankeCaipi