mikrocontroller.net

Forum: Compiler & IDEs Frage zu Array


Autor: Bernd T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TEST[0] = 0;

Autor: Florian Demski (code-wiz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
memset(TEST, 0, sizeof(TEST));

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

Das Nullbyte ist die Markierung für das Textende.

Autor: PePaDe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin eher fuer:
#define MY_STRING "HALLO"
char *ptr = NULL;

ptr = (char*)malloc(sizeof(char)*strlen(MY_STRING)+1);

strncpy(ptr, "Hallo", strlen(MY_STRING)+1);

if(ptr)
    free(ptr);
ptr = NULL;


Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Florian Demski (code-wiz)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
STL ist nicht Windoof!

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

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

Autor: Florian Demski (code-wiz)
Datum:

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

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
STL - Standard Template Library - ist kein Microsoft-Produkt und schon 
garnicht MFC.

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

Autor: Florian Demski (code-wiz)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann lies mal deine eigene Schreibe:

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

Autor: Florian Demski (code-wiz)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
grins

Autor: Bernd T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na dann mal Danke für Eure Beiträge !!

Mfg Bernd T.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.