[C/C++] Länge einer Datei ausgeben

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von CS-Luck0r, 19. Juni 2009 .

Schlagworte:
  1. 19. Juni 2009
    Länge einer Datei ausgeben

    Hallo Leute,

    ich hab da mal wieder ne Frage. Und zwar programmiere ich grad nen HexViewer, zur reinen Übung. Und zwar gebe ich den Text aus, und das Teilweise.
    Nun will ich mit den Pfeiltasten den Text nach und nach weiter ausgeben lassen. (Nun fragt nicht, wieso ich nicht gleich den ganzen Text ausgebe etc.)
    Und nun kann ich ja wenn es Hexadezimal ist, und es bei Hexadezimal kein Leerzeichen auszugeben ist, welches ja einer '20' entspricht, muss es ja anderweitig ein Ende dafür geben.

    Nun ist meine Frage, wie kann ich überprüfen ob das Ende der Datei bereits erreicht ist?

    Ich hoffe jemand versteht was ich meine, wenn nicht, einfach fragen!

    Grüße
     
  2. 19. Juni 2009
    AW: Länge einer Datei ausgeben

    Öffnen, Länge überprüfen, und Offest mit Länge vergleichen.
     
  3. 19. Juni 2009
    AW: Länge einer Datei ausgeben

    Wie genau geht das? Arbeite mit CFile. CFile hat Funktionen wie GetFileSize, der aber einen DWord zurückgibt, und ich nicht mal die Ausgabe davon "geschissen" kriege.

    GetFileLength gibt auch nur irgendwie nen Handle wieder oder so. Gibt es nicht irgendwas einfachereres als das?


    Grüße
     
  4. 20. Juni 2009
    AW: Länge einer Datei ausgeben

    Ich will dir ja nicht reinreden, aber warum machst du das nicht einfach mit 'nem fstream? Dann kannst du dir einzelne Bytes mit get holen und immer mit eof() überprüfen, ob das Dateiende erreicht ist.
    Das ganze als Hex anzeigen zu lassen ist ja kein Problem.
     
  5. 21. Juni 2009
    AW: Länge einer Datei ausgeben

    Das sagte man mir auch schon in diversten IRC Channels. Jedoch benutzen wir in der Schule CFile, und ich will da meinem Lehrer nicht reinfuschen und so

    Sry
     
  6. 21. Juni 2009
    AW: Länge einer Datei ausgeben

    So, ich hab mir CFile jetzt nochmal angeguckt und eigentlich ist das gar nicht so schwer. Benutz die Read-Funktion
    und gib als nCount bspw. 100 an. Dann wird versucht 100 Bytes zu lesen. Du musst jetzt nur mit dem Rückgabewert vergleichen, denn wenn er 100 ist musst du weiter lesen, wenn er kleiner ist, hast du das Dateiende erreicht.

    CFile::Read (MFC)
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.