C/C++ Char/ Array erweitern
-
Hi
Ich habe einen char mit der länge von 80 definiert, der den Wert der eingabe des Users enhält. Nun möchte ich, dass diese Char mit sovielen 0 gefüllt wird, dass er ganz voll ist. Hier meine Versuche:
1)char text1 [80]; int nStrLen = strlen(text1); while (nStrLen != 80) { text1 +='0'; nStrLen = strlen(text1); cout << text1 << nStrLen; }char text1 [80]; int nStrLen = strlen(text1); while (nStrLen != 80) { text1[nStrLen]='0'; nStrLen = strlen(text1); cout << text1 << nStrLen; }hat jemand eine Idee, wie das Funktionieren könnte?

-
#include <iostream> int main() { char text1[80]; for(int i = 0; i < sizeof(text1); i++) { text1[i] = '0'; } }Noch nie was von for-Schleifen gehört ?
-
Zitat aus meinem C++ Buch:"Arrays und for-Schleifen gehören einfach zusammen"

Aber:
Du sagtest ja die restlichen Stellen...sagen wir mal deine ersten 20 Stellen sind besetzt, dann musst du 'i' in der for-Schleife am anfang auf 20 stellen!
(ja auf 20, nicht auf 21...der Array fängt bei 0 an zu zählen!)
-
Vielleicht so?
for(int i = strlen(text1); i < 80 ; i++){ text1[i] = '0'; };
-
Danke ich habs hinbekommen.

int i=sizeof(text1); i += 1; for(i; i <80; i++) { text1[i] = '0'; }
-
...oder die Kurzversion:
int main() { char text1[80] = {}; }Sonst gibt's noch folgendes, mit dem man, nachdem das Array schonmal initialisiert und vollgeschrieben wurde, wieder mit Nullen auffüllen kann:
#include <algorithm> int main() { char text1[80]; std::fill(text1,text1+80,char(0)); }Gruß,
SP