Inhalt eines Arrays löschen ?
-
Hallo,
kann mir jemand von Euch verraten, wie man den kompletten Inhalt eines Arrays löscht bzw. zurücksetzt?
Mein Programm soll bei Bedarf des Benutzers ohne beendet zu werden immer wieder vom Anfang gestartet werden können, nur funktioniert es dann nicht, weil die arrays noch mit Inhalten gefüllt sind.
MfG
Carsten
-
Hallo
Jedes Element einzeln je nach Typ zurücksetzen.
bis bald
akari
-
und wie setzt man zurück ?
while(i<strlen(&array[0]))
{
array[i]=0;
i++;
}dann hab ich doch alles voller nullen stehen !?
-
strlen(namen)
int array[10] = {0};
while(i<10){
array[i] = 0;
i++;
}
-
Und was willst du haben? Ganz leer geht ja nicht, irgendwas ist an der Adresse ja immer, lauter Nullen sind ja letztendlich "nichts", oder irre ich mich da?
-
Hallo
Ja das setzt alles auf 0 zurück. Ich würde zwar lieber std::vector<int> und desen Methode assign verwenden.
Da du uns aber auch nicht sagt was für dich zurücksetzen heißt können wir dir auch nichts präziseres antworten.bis bald
akari
-
irgendeinen wert hatten die array element zuvor ja auch schon. du könntest tatsächlich vector<int> verwenden, der lässt sich auch recht komfortabel leerräumen aber wenn der schleifendurchlauf (oder was auch immer) nur dann funktioniert wenn die elemente zuvor einen bestimmten wert haben dann speicher den doch zuvor mal ab und weise allen elementen dannach in einer for schleife diesen wert wieder zu.
-
Vektoren...kann ich nicht

habs nu hinbekommen...
einfach die escape sequenz "Null character" verwenden:
array[i]='\0';
trotzdem Danke für die Vorschläge

MfG
Carsten
-
Also:
char array[10]; for(int i = 0; i < 10; ++i) array[i] = 0; // Nicht zu verwechseln mit '0' // imho äquivalent zu: char array[10]; for(int i = 0; i < 10; ++i) array[i] = '\0';MfG SideWinder