Gast KnapsackSolver Geschrieben 15. Juni 2015 Geschrieben 15. Juni 2015 Hallo Community, ich habe eine Textdatei die ausgelesen werden muss. In der ersten Zeile steht die Highscore und in der zweiten Zeile der Name, mehr steht da nicht drin. Jetzt will ich die Datei auslesen, was auch gut funktioniert, mache es folgend: file_stream =fopen("Highscore.txt","r"); fread(buffer,sizeof(buffer),1,file_stream); fclose(file_stream); In meinem Buffer stehen jetzt die Werte, diese kann ich mir auch ausgeben lassen, wie kann ich jetzt aber den Zeilenumbruch erkennen und die erste Zeile in einen int wandeln? Danke für die Hilfe.
mfk'); DROP TABLE Users;-- Geschrieben 15. Juni 2015 Geschrieben 15. Juni 2015 Warum benutzt du fread, und liest nicht einfach beide Zeilen einzeln mit fgets ein?
mfk'); DROP TABLE Users;-- Geschrieben 15. Juni 2015 Geschrieben 15. Juni 2015 Und wie geht das dann ? Hast du die Doku zu fgets nicht gefunden oder nicht verstanden? Oder hast du gar nicht versucht, selbst herauszufinden, wie man fgets anwendet? fgets(buffer,sizeof(buffer),file_stream); Beachte aber, dass im Falle einen Zeilenwechsel-Zeichens dieses dann mit im Puffer steht.
Gast KnapsackSolver Geschrieben 15. Juni 2015 Geschrieben 15. Juni 2015 Habe es mir ehrlich gesagt nicht angeschaut, ich wollte damit nicht wissen, wie es vom code geht, sondern was fgets direkt macht, bekomme ich dabei genau eine Zeile ausgelesen? Wird automatisch bei einem erneuten Methoden-Aufruf die nächste Zeile gelesen? Grüße
mfk'); DROP TABLE Users;-- Geschrieben 15. Juni 2015 Geschrieben 15. Juni 2015 bekomme ich dabei genau eine Zeile ausgelesen?Ja, es sei denn, die nächste Zeile passt nicht in den Puffer. Dann bekommst du nur einen Teil. Wird automatisch bei einem erneuten Methoden-Aufruf die nächste Zeile gelesen?Ja.
Gast KnapsackSolver Geschrieben 15. Juni 2015 Geschrieben 15. Juni 2015 Hallo Mfk, also ich habe das jetzt so: file_stream =fopen("Highscore.txt","r"); fgets(highscore, sizeof(highscore),file_stream); fgets(name, sizeof(name),file_stream); fclose(file_stream); Ich bekomme jetzt aber leider nur die erste Zeile ausgelesen... Was mache ich falsch?
mfk'); DROP TABLE Users;-- Geschrieben 15. Juni 2015 Geschrieben 15. Juni 2015 (bearbeitet) Ich bekomme jetzt aber leider nur die erste Zeile ausgelesen...Was heißt das? Schlägt der zweite fgets-Aufruf fehl, oder steht hinterher nichts in name? Wie sind highscore und name definiert? Am besten zeigst du immer ein vollständiges Minimalprogramm, dann muss man nicht raten, ob du in den Code-Teilen, die du nicht zeigst, irgendetwas falsch gemacht hast. Und zeig mal den Inhalt der Datei. Bearbeitet 15. Juni 2015 von mfk
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden