Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

22.05.2008, 18:30

Übungsaufgabe Unzipper

Ich habe ein kleines Problem beim Unzipper.

Nun könnte ich die exisitierenden Beiträge lesen, aber ich will versuchen, sowenig wie möglich von anderen zu übernehmen (dies fördert mein eigenständige Arbeiten)

Folgendes Problem liegt vor:

char PathName[] = "C://Text.txt@Archiv.zip";

Wenn ich eine Datei mit diesem Pathname erstellen, erhalte ich eine ungültige oder beschädigte Datei.

Im Buch wird folgendes Format zum Dateinamen angegeben:

Dateiname@Archiv.zip

Kann mir jemand ein Hinweis geben?

2

22.05.2008, 18:39

Sollten da nicht Backslashes "\\" hin?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

3

22.05.2008, 18:57

Doch, oder ein einfache "/".
@D13_Dreinig

DasBlub

Alter Hase

Beiträge: 802

Wohnort: Schweiz

Beruf: Programmierer

  • Private Nachricht senden

4

22.05.2008, 19:05

C:/ ist hier falsch:

Dateiname@Archiv.zip

-> Dateiname: Der Name der Datei im Archiv
-> Archiv.zip: Der Name des Archives

Beispiel:
Dateiname: test.txt
ZIP Archiv: C:\temp\archiv.zip

C-/C++-Quelltext

1
char acPathName[] = "test.txt@C:\\temp\\archiv.zip";


so sollte das gehen

5

22.05.2008, 20:18

Danke! Ich werde ein einmal ausprobieren.

6

22.05.2008, 20:44

Leider funktioniert folgendes Konsolenprogramm nicht. Weiß jemand Rat?

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <windows.h>
#include <TriBase.h>
#include <iostream>

using namespace std;

int main(void)
{
    tbInit();

    // Speicherbereich erstellen und mit Werten füllen

    char TextString[] = "Hallo hier bin ich\n";
    size_t StringLength = strlen(TextString) + 1;
    
    // Virtuelle Datei aus Speicherbereich anlegen

    tbVFile* pFile1 = new tbVFile;
    pFile1->Init((void*)&TextString,StringLength);

    char PathName[] = "Text.txt@C:\\Archiv.zip";

    // Virtuelle Datei speichern

    pFile1->SaveToFile(PathName);

    // Virtuelle Datei freigeben

    TB_SAFE_DELETE(pFile1);

    tbExit();
    return 0;
}

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

7

22.05.2008, 20:49

Rat weiß vielleicht jemand. Aber, dass das jeder für sich feststellen kann, wäre evtl noch von Interesse was nicht funktioniert.
@D13_Dreinig

8

22.05.2008, 21:48

David_pb hat geschrieben:

Zitat

Rat weiß vielleicht jemand. Aber, dass das jeder für sich feststellen kann, wäre evtl noch von Interesse was nicht funktioniert.


Sorry, ja natürlich:

In Laufwerk C: wird kein Ordner Archiv.zip erstellt und auch keine Textdatei. Erstelle ich einen Zip-Ordner Archiv.zip manuell (keine Komprimierung ist vorausgewählt), und führe das Programm aus, wird keine Textdatei im Ordner erstellt.

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

9

22.05.2008, 22:27

Zitat von »"User_User"«

Zip-Ordner

was ist denn das ;)

10

22.05.2008, 22:51

BlackSnake hat geschrieben:

Zitat

Zip-Ordner was ist denn das


In Laufwerk C:
Wenn ich keinen Ordner erstelle funktioniert das Programm nicht.
Erstelle ich einen Ordner Archiv.zip funktioniert das Programm nicht.
Erstelle ich einen Zip-Komprimierten-Ordner Archiv.zip funktioniert das Programm nicht.

Bei dem geposteten Programm kommt folgender Text:

Zitat

INFO: Initialisierung komplett! (TriBase.cpp, Zeile 104, Funktion tbInit)
FEHLER: Die Datei Text.txt@C:\Archiv.zip konnte nicht geöffnet, gelesen, erstellt oder beschrieben werden! (tbFile.cpp, Zeile 512, Funktion tbWriteFile)
INFO: TriBase-Engine wird heruntergefahren... (TriBase.cpp, Zeile 113, Funktion tbExit)
INFO: Alle Speicherbereiche freigegeben! (tbMemory.cpp, Zeile 116, Funktion tbMemExit)
INFO: Herunterfahren abgeschlossen! (TriBase.cpp, Zeile 149, Funktion tbExit)


Anhand der Antworten habe ich den (möglicher falschen) Eindruck bekommen, dass sehr wenige mit den zip-Archiven aus dem Buch arbeiten - oder?

Werbeanzeige