Hallo!
Ich habe eine Datei, in der lauter Wörter untereinanderstehen. In jeder Zeile ein Wort. Die Zeilen sind mit dem ASCII-Zeichen Nr. 10 von einander getrennt. Jetzt habe ich ein Programm geschrieben, das alle Wörter einliest:
Wenn ich dieses Programm jetzt starte bekomme ich immer die Hälfte (die ersten 12 Zeichen) der letzten Zeile auf dem Bildschirm angezeigt. Egal welche Zahl ich in der Datei test.c angebe. Kann mir jemand sagen. warum das so ist?Code:// strings.h #ifndef __STRINGS_H__ #define __STRINGS_H__ char *Strings [138]; extern void InitStrings(); extern char *getString(int index); #endif // strings.c #include (stdio.h) //soll eine eckige Klammer darstellen #include "strings.h" void InitStrings() { FILE *file_p char line [81] int i; file_p = fopen ("strings" , "r"); for (i=0; i <= 137; i++) { Strings[i] = fgets (line , 80 , file_p); } fclose (file_p); } char *getString(int index) { return Strings[index]; } // test.c #include (stdio.h) #include "strings.h" int main(void) { InitStrings(); puts(getString (X-Beliebige Zahl)); return; }
Kann mir jemand helfen?
PS .: Gibt es eine Möglichkeit unter Linux den Quelltext reinzukopieren?
[Dieser Beitrag wurde von Nicolas am 29. August 2000 editiert.]
Lesezeichen