Forum: PC-Programmierung C-String zu Null setzen


von Klaus (Gast)


Lesenswert?

Hi,
wie setzt man ein Array in C komplett zu Null?

also z.B.:

char array[10]= ???

von Rolf Magnus (Gast)


Lesenswert?

1
char array[10] = {0};

von Klaus (Gast)


Lesenswert?

und wie geht das mitten im Programm-Code?

von Karl H. (kbuchegg)


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.

von g457 (Gast)


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().

von Klaus (Gast)


Lesenswert?

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

von Karl H. (kbuchegg)


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
1
void strclr( char * s )
2
{
3
  *s = '\0';
4
}
5
6
7
int main()
8
{
9
  char buffer[80];
10
  char output[80];
11
12
  strcpy( buffer, "Hallo world" );
13
  strcpy( output, buffer );
14
  strclr( buffer );
15
}

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

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.