Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » C: Datei vin hinten ab dem 1. \n lesen?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
02.09.2008, 15:28 Uhr
lord_fritte



Hallo ich habe ein kleines Problem, ich möchte mit C(kein C++) eine Datei vom 1. \n ab dem Ende aus lesen.
Wie finde ich am schnellsten und einfachsten die Position des letzten \n?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
02.09.2008, 18:58 Uhr
Lensflare



wenn ich dich richtig verstanden habe, dann evtl so:


C++:
#include <stdio.h>

int main(void)
{
    FILE *file = fopen("test.txt", "r");

    long currentPos = 0;
    long lastNewlinePos;

    //Suche nach Newlines
    while(1)
    {
        char c = fgetc(file);
        currentPos++;

        if(c == EOF)
        {
            break;
        }
        else if(c == '\n')
        {
            lastNewlinePos = currentPos;
        }
    }

    //Beginne beim nächsten Zeichen nach dem letzten Newline
    long newPos = lastNewlinePos + 2; //Beim Notepad von Windows belegt das Newline 2 Zeichen
    fseek (file, newPos, SEEK_SET);

    //Lese nun alle Zeichen dach dem letzten Newline und gebe sie aus.
    while(1)
    {
        char c = fgetc(file);

        if(c != EOF)
        {
            printf("%c", c);
        }
        else
        {
            break;
        }
    }

    fclose(file);

    getchar();

    return 0;
}



Inhalt der test.txt

Code:
Blub
blabla test
ende



Ausgabe des Programms

Code:
ende



PS: ich nehme hier an, dass es mindestens ein \n in der Datei gibt.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 02.09.2008 um 19:05 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: