Forum: Mikrocontroller und Digitale Elektronik Array leeren


von Chris M. (sinsor)


Lesenswert?

Hallo, ich bin gerade am verzweifeln weil sich mein array einfach nicht 
leeren lässt.

1
unsigned char zeichen[40];
2
3
strcpy(zeichen,"\0");

ist daran irgendetwas verkehrt ?


Vielen Dank im Voraus !

von Sven P. (Gast)


Lesenswert?

Das Array belegt immer 40 Zeichen. Wie müssen diese Zeichen denn 
geartet sein, damit das Array für dich in deinem Fall leer ist?
1
zeichen[0] = '\0'; /* String? */

von Klaus W. (mfgkw)


Lesenswert?

Was heißt "einfach nicht leeren lässt"?

strcpy() kopiert eine String bis einschließlich der abschließenden
Null, in deinem Falls also nur die abschließenden Null und die
restlichen 39 Zeichen bleiben unverändert.

Willst du das ganze Feld leeren?
Dann musst du z.B. memset() nehmen:
1
    memset( zeichen, '\0', sizeof(zeichen) );

von Klaus W. (mfgkw)


Lesenswert?

Chris Meier schrieb:
> ist daran irgendetwas verkehrt ?

nur, daß du nicht genau sagst, was dir nicht gefällt. bzw. wie du es 
gern hättest. :-)

von Tip (Gast)


Lesenswert?

Chris Meier schrieb:
> Hallo, ich bin gerade am verzweifeln weil sich mein array einfach nicht
> leeren lässt.

Speicher ist nie leer.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.