Benutzereingabe in C?

2 Antworten

Sämtlicher Code in C, der Eingaben des Benutzers entgegennimmt, besteht letztlich aus Aufrufen von fgets oder gar sscanf.

Wo das schief geht, hat der Anwendungsprogrammierer entweder zu kleine Buffer-Variablen deklariert oder gar keine Fehlerbehandlung vorgesehen.

Schuld ist also stets der Programmierer, aber nicht diese Funktionen.

Ich habe gelesen das man fgets, sscanf oder kombination mit strtol, strtod etc. benutzen kann.

Ja, und das ist auch vernünftig. Mit fgets() kannst du eine maximale Puffergröße erzwingen, danach kannst du Einzelwerte mit strtod() & Co. parsen oder - wenn es wirklich sein muss - mehrere Werte mit sscanf() und Formatstring.