Hallo,
Durch den Compiler etc.. geht das Programm einwandfrei durch nur in dieser funktion bleibt er beim ausführen hängen mit der aussage "Segmentation fault" ...
Und das heißt, daß du in Speicherbereiche schreiben (/lesen) möchtest,
die dir nicht gehören. Das tritt eigentlich nur dann auf, wenn ein
Pointer an eine falsche Stelle zeigt.
void change_db()
{
char *db;
Du erzeugst hier zwar einen Pointer (auf ein Char/Char-Array),
reservierst aber nirgends Speicher dafür. Auch initialisierst du den
Pointer nicht, so daß ein undefinierter Wert drin steht. Deshalb wohl
auch der Segmentation fault. Ich glaub "malloc" ist die Funktion, die
du suchst.
printf("\n\nGeben Sie den Datenbanknamen ein: ");
scanf("%s",db);
Hier erfolgt dann der Fehler, weil das Programm versucht die Eingabe
in einen ungültigen Speicherbeich zu schreiben (weil der Pointer
irgendwo hinzeigt).
Ich hoffe Ihr könnt helfen ;-)
Ich habe schon ewig nichts mehr mit C gemacht (und auch nie wirklich
professionell). Hoffe aber trotzdem, daß ich nicht allzu falsch
liege...
Gruß
Slyh
Es gibt 10 Arten von Menschen. Solche, die das Binärsystem verstehen, und solche, die es nicht verstehen.
Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:} va:} de:] zu:) fl:( ss:) ls:/ js:|