Forum: Compiler & IDEs Frage zu Array


von Bernd T. (Gast)


Lesenswert?

Hallo !
Folgende Angelegenheit, ich habe ein Array.

char TEST[256];


strcpy(TEST, "Hallo");

Jetzt möchte ich den Inhalt des Array im Programm löschen...
Wie geht dies am besten ?



Gruss Bernd T.

von Uhu U. (uhu)


Lesenswert?

TEST[0] = 0;

von Florian D. (code-wiz)


Lesenswert?

1
memset(TEST, 0, sizeof(TEST));

Wenn Du aber nur möchtest, dass kein Text mehr darin ist, reicht auch
1
TEST[0] = 0;

Das Nullbyte ist die Markierung für das Textende.

von PePaDe (Gast)


Lesenswert?

Ich bin eher fuer:
1
#define MY_STRING "HALLO"
2
char *ptr = NULL;
3
4
ptr = (char*)malloc(sizeof(char)*strlen(MY_STRING)+1);
5
6
strncpy(ptr, "Hallo", strlen(MY_STRING)+1);
7
8
if(ptr)
9
    free(ptr);
10
ptr = NULL;

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das löscht aber nicht den Inhalt, sondern das Array selbst.

Außerdem müssen wir hier wohl nicht darüber diskutieren, wie sinnvoll 
die Verwendung von malloc/free resp. new/delete auf einem µC ist.

von Uhu U. (uhu)


Lesenswert?

> Ich bin eher fuer:
> ...

Aber warum denn sooo einfach, wenn es auch noch viel komplizierter geht?

Für solche Fälle empfehlen sich Stringklassen wie CString von MFC/ATL 
oder string von STL.

Allerdings muß man dann wohl noch einen kleinen Rucksack an den AVR, 
oder was immer µC pappen, daß der Verwaltungsapparat und das 
Betriebsystem auch noch ein Dach über den Kopf bekommen...

von Florian D. (code-wiz)


Lesenswert?

Uhu Uhuhu wrote:
> Für solche Fälle empfehlen sich Stringklassen wie CString von MFC/ATL
> oder string von STL.

Wenn schon Windoof, dann natürlich OLE-Datentypen, z.B. VARIANT und 
natürlich Unicode-Strings.

von Uhu U. (uhu)


Lesenswert?

STL ist nicht Windoof!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Die OLE-Datentypen müssen dann aber über DCOM angesprochen werden, sonst 
erhält man womöglich noch auswertbare Fehlermeldungen, wenn was 
schiefgeht.

von Florian D. (code-wiz)


Lesenswert?

Uhu Uhuhu wrote:
> STL ist nicht Windoof!
Aber MFC.

von Uhu U. (uhu)


Lesenswert?

STL - Standard Template Library - ist kein Microsoft-Produkt und schon 
garnicht MFC.

http://de.wikipedia.org/wiki/Standard_Template_Library

von Florian D. (code-wiz)


Lesenswert?

Uhu Uhuhu wrote:
> STL - Standard Template Library - ist kein Microsoft-Produkt und schon
> garnicht MFC.

Schon richtig. Ich zitiere von weiter oben:

>Für solche Fälle empfehlen sich Stringklassen wie CString von MFC/ATL
>oder string von STL.

Da erwähnst Du MFC und ATL. Das ist für meine Begriffe schon 
Windoof-Quatsch.

von Uhu U. (uhu)


Lesenswert?

Dann lies mal deine eigene Schreibe:

Florian Demski wrote:
> Uhu Uhuhu wrote:
>> STL ist nicht Windoof!
> Aber MFC.

von Florian D. (code-wiz)


Lesenswert?

Uhu Uhuhu wrote:
> Dann lies mal deine eigene Schreibe:
>
> Florian Demski wrote:
>> Uhu Uhuhu wrote:
>>> STL ist nicht Windoof!
>> Aber MFC.

Vielleicht wäre mit der Ergänzung "ist es" das Missverständnis aus der 
Welt geschafft.

von Uhu U. (uhu)


Lesenswert?

grins

von Bernd T. (Gast)


Lesenswert?

Na dann mal Danke für Eure Beiträge !!

Mfg Bernd T.

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.