9.5. Guter Programmierstil
- Verwenden Sie nach Möglichkeit Funktionen, bei denen Sie die Anzahl der geschriebenen Zeichen kontrollieren können. Beim Einlesen von Strings ist deshalb fgets() der Funktion gets() vorzuziehen, strncpy() ist sicherer als strcpy().
- Initialisieren Sie Strings durch Zuweisung von Zeichenketten-Konstanten, anstatt eine Liste von einzelnen Zeichen zu verwenden!
- Wenn bei der Ausgabe von Zeichenketten keine Formatierungen vorzunehmen sind, dann sollten Sie die Funktion puts() verwenden.
- Falls Sie eine größere Anzahl von Zeichenketten im Speicher unterbringen müssen, dann sollten Sie anstelle von zweidimensionalen Arrays besser Arrays aus Pointern oder Pointer auf Pointer benutzen. Diese benötigen kaum mehr Speicherplatz, als zum Speichern der Zeichenketten tatsächlich nötig ist.
- Um Zeichenketten mit Hilfe der Formatierungs-Möglichkeiten von scanf() zu zerlegen und zu konvertieren, ist es besser, die Zeichenketten zuerst mit fgets() einzulesen und anschließend mit sscanf() zu bearbeiten. Benutzen Sie dann aber den Rückgabewert von sscanf(), um zu überprüfen, ob auch allen Argumenten erfolgreich ein Wert zugewiesen werden konnte!
- Müssen Sie die Länge einer Zeichenkette angeben (um beispielsweise die entsprechende Menge an Speicher zu reservieren), dann sollten Sie anstelle eines konstanten Werts einen Aufruf der Funktion strlen() benutzen. Beachten Sie, daß strlen() die abschließende '\0' nicht mitzählt!