[C] Segmentation Fault bei Char-Array - Aber wieso?
Hallo,
ich sitze gerade an einer Übungsaufgabe, die eigentlich relativ einfach sein sollte. Seltsamerweise kriege ich aber Segmentation Faults, ohne zu wissen wieso.
Aufgabenstellung war ein gegebenes Programm, dass Rentenversicherungsnummern einliest und als CSV wieder ausgibt, sicherer zu machen. Unter anderem sollten auch ungültige Nummern abgelehnt werden.
Folgendes ist der Code:
Interessanterweise tritt der Fehler nach dem Aufruf der Funktion isChar auf, das hier zuletzt gezeigte printf wird nicht mehr ausgeführt. Zuerst habe ich gedacht es liegt daran, dass csv[8] auf einen ungültigen Speicherbereich verweist, aber der Fehler tritt auch auf, wenn ich die 8 durch zB 2 ersetze, ein Aufruf der in der vorherigen for-Schleife problemlos funktioniert.
Die isChar-Funktion selber überprüft nur (wie die isDigit-Funktion) ob der Charakter zwischen zwei bestimmten Grenzen liegt, also nichts was eigentlich einen Speicherfehler produzieren sollte.
Ich bin momentan total überfragt woran der Fehler noch liegen könnte, meine C-Erfahrung ist aber auch nur relativ gering (und liegt schon was länger zurück).
Edit:
Fehler gefunden (und behoben). csv[8] gibt nur den Charakter als Integer zurück. Eine eigene Funktion die mir einen Teilstring zurückliefert (Start-Index und länge angegeben) hat das Problem behoben.
Falls jemand ein ähnliches Problem hat..