wchar_t array leeren?

oleeiner2

Grünschnabel
kann man einen schon beschreibenen wchar_t x[300] array irgendwo im programmcode irgendwie wieder leeren?

ich würde es ja
mit x=L"";
da mekkert aber der compiler mit
1>d:\programmieren\mfc\primzahl\primzahl\primzahldlg.cpp(159): error C2440: '=': 'const wchar_t [1]' kann nicht in 'wchar_t' konvertiert werden
1> Es gibt keinen Kontext, in dem diese Konvertierung möglich ist

Mfg oleeiner 2
 
Richtig "leeren" kann man ein Array nicht.
Etwas steht immer drin, auch wenn es nur Unsinn ist.

Bei Strings gibt es aber eine ... Vorschrift, wie das Ende davon auszusehen hat.
Wenn man 100 Plätze zur Verfügung hat muss es ja auch möglich sein,
kürzere Wörter/Sätze darin zu speichern.
Deshalb wird das Ende des sinnvollen Teils mit \0 markiert (nicht das Gleiche wie die Ziffer 0).
Wenn man gleich am Anfang ein \0 hat, bedeutet das also, es ist nichts drin
(obwohl danach noch ungenutze Zeichen kommen).

Wenn du aus irgendeinem Grund jedes Zeichen auf \0 setzen willst,
musst du das mit einer Schleife machen.
Beim gezeigten Code wird nur das erste ([0]) Zeichen auf \0 gesetzt.
 
Zurück