Was ist der beste Weg zum zurücksetzen eines char[] in C?
Benutze ich ein string:
char word[100];
Füge ich einige chars auf jeder position, beginnend bei 0.
Aber dann muss ich in der Lage sein, zu löschen alle diese Positionen, so dass ich beginnen können, fügen Sie neue Charaktere, beginnend bei 0.
Wenn ich es nicht Tue, dass dann, wenn die zweite Zeichenfolge verkürzen dann die erste, die ich am Ende mit extra-Charaktere aus dem ersten string, wenn das hinzufügen des zweiten, da ich nicht überschreiben.
Wie entsteht unten das Plakat will zu null aus der ganzen Reihe, weil er/Sie nicht wollen, verwenden Sie die standard-Bibliothek von string-Funktionen wie strcat. Er/Sie will in der Lage sein, zu schreiben einfach neue chars auf der Spitze dessen, was da ist, und rechnen mit einem \0 in die nächste position, nachdem er/Sie hörte auf zu schreiben.
InformationsquelleAutor goe | 2009-11-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollen, um null aus der ganzen Reihe, Sie können:
könnten Sie zeigen uns den gesamten code - oder das, was es tatsächlich Ausgänge nachdem Sie dies versuchen?
Es funktioniert jetzt, ich war, nannte es falsch, vielen Dank
InformationsquelleAutor Mehrdad Afshari
Brauchen Sie nicht, um Sie zu löschen, wenn Sie der Verwendung von C-Stil-null-terminierte " strings. Sie müssen nur das element nach dem letzten Zeichen im string NUL ('\0').
Beispielsweise
Ausgabe
obwohl es ist immer noch wahr, dass
buffer[3] == 'T'
.Sind Sie SICHER, dass Sie müssen? Denn das, was ich sage, ist, dass bei der Programmierung in C, die Sie normalerweise nie tun müssen.
InformationsquelleAutor Heath Hunnicutt
strcpy(word,"")
können auch für diesen Zweck verwendet werden.InformationsquelleAutor
*word = '\0';
Extra Zeug zu bekommen Vergangenheit der 15-Zeichen-posting-Grenze rollt die Augen.
Das funktioniert nicht, entweder
Habe ich falsch verstanden das problem. Es ist nicht ersichtlich, in der OP, dass die C-string-handling-Funktionen nicht verwendet werden.
InformationsquelleAutor