String löschen
-
Hallo,
gibt es einen Befehl mit dem ich alle Zeichen von einem String löschen kann?
danke schön
newey
-
Hallo,
das kommt darauf an, was du unter String verstehst?Bei String, AnsiString, UnicodeString etc.: AnsiString MyString; MyString = "1234"; // zuweisen MyString = ""; // komplett löschen MyString.Delete(2,3); // löscht vom zweiten Zeichen an drei Zeichen
Bei char: char MyChar[10]; strcpy(MyChar,"1234"); // zuweisen memset(MyChar,0,10); // löschen oder MyChar[0] = NULL; // löschen
-
also meine Deklaration sieht so aus:
char daten[500];
Der String wird dann gefüllt und später ausgewertet.
Vor dem nächsten Füllen möchte ich den Inhalt leeren / löschen, damit ich nicht alte Daten auswerte. (die Anzahl der Zeichen ist unterschiedlich lang, deshalb möchte ich löschen)
Vielen Dank
newey
-
memset(daten, '\0', sizeof(daten));
bzw
memset(daten, '\0', 500);
EDIT: Die Lösung ist oben auch schon, aber du hast ja nochmal den Fall konkretisiert und hier ist dann denke ich die konkrete Antwort auf die Frage.
-
newey schrieb:
char daten[500];
Der String wird dann gefüllt und später ausgewertet.
Und wo ist da der String?
Ich sehe nur ein Character-Array.
-
Wenn dieser Beitrag irgendwie mit dem deiner seriellen Schnittstelle zusammenhängt, dann ist
std::vector
die Antwort auf deine Probleme.
Du möchtest hinten Daten anhängen und vorn löschen, das geht mitstd::vector
komfortabel, wenn auch nicht optimal. Für RS232 Kommunikation reicht das aber alle Male...