Robert Bienert: (C) Einen einfachen String deklarieren

Beitrag lesen

Moin!

signed
:= mit Vorzeichen (Weglasswert)

Das stimmt nicht ganz: Bei Zeichen (Datentyp char) gibt es auch signed char und unsigned char, wobei der Compiler vorgibt, was er als Standard ansieht.

Aber ich habe noch ein paar Probleme mit dem Verständniss von dem Anzeigen den ablesen von eingaben.

Damit kann man sich auch die größten Sicherheitsprobleme einhandeln.

In einem Codeabschnitt gab es folgendes beispiel:

int a;
printf("Gebe eine Zahl ein:");
scanf("%d",&a);

Ich weiß jetzt nicht genau, welche Probleme es mit scanf so alles geben kann, aber Zahlen liest man sicherer so ein:

int a;  
char eingabe[1024];    /* 1024 sollten für eine Zahl reichen */  
  
printf("Gebe eine Zahl ein:");  
fgets(eingabe, sizeof(eingabe), stdin);  
  
/* ältere, fehleranfällige Methode: */  
a = atoi(eingabe);  
  
/* besser: */  
long b;  
b = strtol(eingabe, NULL, 0);

Viele Grüße,
Robert