Chararray Zeichen am Ende
-
Hallo,
ich habe dieses kleine Programm:
#include <iostream>
using namespace std;
int main()
{
char abc[4];
abc[0] = 'w';
abc[1] = 'x';
abc[2] = 'y';
abc[3] = 'z';
cout<<abc<<endl;return 0;
}
Eigentlich sollte es nur wxyz ausgeben.
Es werden aber bei der Ausgabe immer irgendwelche komischen Zeichen angehängt.
Zum Beispiel lautet die Ausgabe: wxyz-^3§ oder so ähnlich.
Das fertig kompilierte Programm ändert bei jedem Neustart diese komischen Zeichen.
Ich verwende QT.
-
cout
erwartet bei einem char-Array einen Nullterminierten String (sog. C-String)
-
Vielen Dank! Das ist es.
-
@theAnfänger77 Du weißt, daß du das Array auch mit
char abc[] = "wxyz";
definieren und initialisieren kannst und es dann automagisch die richtige Länge (4 Buchstaben + 1 für die abschließende
0
= 5) hat und auch die0
am Ende automagisch dran ist?
-
Verwende std::string, nicht char Arrays.