JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=2ddde868940b88082def65f5ae5a929cMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Datei kopieren

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ScroogeMcDuck
Mini JLI'ler



Anmeldedatum: 04.01.2005
Beiträge: 3

Medaillen: Keine

BeitragVerfasst am: 04.01.2005, 21:47    Titel: Datei kopieren Antworten mit Zitat

Hallo zusammen,

Ich habe diese Seite über das Buch "Wie lerne ich Spielegrogrammierung" gefunden. Da ich noch ein relativ frischer Programmierer bin und bis zum ersten Spiel noch einiges vergeht hoffe ich doch das ihr alle mir mit rat und Tat zur Seite steht, mein Dank ist euch gewiß Wink

Jetzt aber zu meinem ersten Problem, ich habe vor eine Datei eins zu eins zu kopieren. Nachfolgend der wichtige Code wo leider irgendwas schiefgeht Sad

while(!feof(fp))
{
char *inc_data;
fgets(inc_data,1,fp);

printf("test1");

fwrite(inc_data,1,1,fp2);
printf("test2");
}

ich habe mal zwei printfs eingefügt um zu schauen wie weit er kommt und er gibt leider nicht mal test1 aus, das bedeutet wohl das bei fgets was schiefgeht.....mir ist aber nicht ganz klar was ?

- inc_data ist frisch angelegt und soll mit den Daten gefüllt werden, sollte soweit stimmen
- 1 da ich die datei byteweise lesen will, sollte auch stimmen
- fp ist der Parameter vom typ File denn ich etwas davor angelegt habe und der auf die Quelldatei zeigt, sollte also auch stimmen

Falls einer von euch Cracks den Fehler findet bin ich sehr dankbar da ich vor dem Problem schon ziemlich lange stehe
_________________
I am rich !!!!!!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 04.01.2005, 21:55    Titel: Antworten mit Zitat

Hi,

ich hab zwar mit C seit fast 5-6 Jahren nichts mehr am Hut, aber ich geb Dir ne schönere Lösung mit feinen C++ Streams Wink

CPP:
#include <fstream>
#include <iostream>

int main (void)
{
        // Quelldatei
    std::ifstream FileInCopy("d:\\cdtemp\\uncle_kracker-follow_me.mp3", std::ios::binary);

        // Zieldatei
    std::ofstream FileOutCopy("d:\\cdtemp\\uncle_kracker-follow_me.mp3.bak", std::ios::binary);

        // Wenn alles Roger, dann kopieren
    if (FileInCopy)
        FileOutCopy << FileInCopy.rdbuf();

    return 0;
}


Geht schnell, keine schleifen, sieht ordentlich aus und ist Standardkomfort Smile

- Patrick, der C++ Coder
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ScroogeMcDuck
Mini JLI'ler



Anmeldedatum: 04.01.2005
Beiträge: 3

Medaillen: Keine

BeitragVerfasst am: 04.01.2005, 21:57    Titel: Antworten mit Zitat

Hmmm kann ja mal deine Version benützen Smile, würde aber trotzdem gerne wissen was bei mir falsch ist
_________________
I am rich !!!!!!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 04.01.2005, 22:27    Titel: Antworten mit Zitat

Bist du dir sicher, dass er die Datei wirklich geöffnet hat?
Wenn nicht, dann versuch mal nach dem Öffnen das:
CPP:
if(!fp) printf("Datei konnte nicht geöffnet werden");


PS: Was passiert denn überhaupt? Kriegst du einen Fehler?
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 05.01.2005, 06:28    Titel: Antworten mit Zitat

versuchs mal so Wink

Code:

int main()
{
   FILE *file;
   FILE *file2;

   file = fopen("test.jpg", "rb");
   file2 = fopen("testBACKUP.jpg", "wb+");

   while(!feof(file))
   {
      char inc_data[2];
      fread(inc_data, 1, 1, file);
      fwrite(inc_data, 1, 1, file2);
   }

   fclose(file2);
   fclose(file);

   system("PAUSE");
   return 0;
}

_________________
"Denken ist Arbeit, Arbeit ist Energie und Energie soll man sparen."

"Theorie ist, wenn man alles weiss, aber nichts funktioniert.
Praxis ist, wenn man nichts weiss, aber alles funktioniert.
Realität ist, wenn nichts funktioniert und keiner weiss warum."

"Es gehört ein wenig Mut dazu nicht das zu tun was ALLE tun"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ScroogeMcDuck
Mini JLI'ler



Anmeldedatum: 04.01.2005
Beiträge: 3

Medaillen: Keine

BeitragVerfasst am: 05.01.2005, 09:21    Titel: Antworten mit Zitat

Die Version von Dark funktioniert, habe wohl einen Fehler in fgets gehabt, vermute das der character zeiger probleme bereitet hat.
Auf jeden Fall vielen Dank, jetzt kann ich endlich weiterarbeiten Wink
_________________
I am rich !!!!!!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum