www.mikrocontroller.net

Forum: PC-Programmierung C-String zu Null setzen


Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
wie setzt man ein Array in C komplett zu Null?

also z.B.:

char array[10]= ???

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
char array[10] = {0};

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und wie geht das mitten im Programm-Code?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da du ein char Array hast, gehe ich mal davon aus, dass es sich um 
Textverarbeitung, also Strings handelt

  array[0] = '\0';

reicht völlig. Laut Definition hört ein String dort auf, wo das '\0' 
Zeichen ist. Ist es ganz vorne, dann ist der String leer.

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> wie setzt man ein Array in C komplett zu Null?
                    ^^^^^      ^^^^^^^^

memset() hülft.

> C-String zu Null setzen
    ^^^^^^
Erstes Element auf 0 setzen. Oder memset().

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles klar, sowas habe ich hier schon geschrieben, nur war ich mit der 
Lösung nicht ganz einverstanden, weil etwas merkwürdig aussieht !!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus schrieb:
> Alles klar, sowas habe ich hier schon geschrieben, nur war ich mit der
> Lösung nicht ganz einverstanden, weil etwas merkwürdig aussieht !!

Was sieht daran merkwürdig aus? So funktioniert nun mal 
Stringverarbeitung in C.

Wenn du willst kannst du dir ja eine Funktion machen
void strclr( char * s )
{
  *s = '\0';
}


int main()
{
  char buffer[80];
  char output[80];

  strcpy( buffer, "Hallo world" );
  strcpy( output, buffer );
  strclr( buffer );
}

siehts jetzt weniger merkwürdig in der Verwendung aus? :-)

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.