|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
ScroogeMcDuck Mini JLI'ler
Anmeldedatum: 04.01.2005 Beiträge: 3
Medaillen: Keine
|
Verfasst am: 04.01.2005, 20:47 Titel: Datei kopieren |
|
|
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ß
Jetzt aber zu meinem ersten Problem, ich habe vor eine Datei eins zu eins zu kopieren. Nachfolgend der wichtige Code wo leider irgendwas schiefgeht
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 |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 04.01.2005, 20:55 Titel: |
|
|
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
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
- 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 |
|
|
ScroogeMcDuck Mini JLI'ler
Anmeldedatum: 04.01.2005 Beiträge: 3
Medaillen: Keine
|
Verfasst am: 04.01.2005, 20:57 Titel: |
|
|
Hmmm kann ja mal deine Version benützen , würde aber trotzdem gerne wissen was bei mir falsch ist _________________ I am rich !!!!!! |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 04.01.2005, 21:27 Titel: |
|
|
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 |
|
|
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 05.01.2005, 05:28 Titel: |
|
|
versuchs mal so
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 |
|
|
ScroogeMcDuck Mini JLI'ler
Anmeldedatum: 04.01.2005 Beiträge: 3
Medaillen: Keine
|
Verfasst am: 05.01.2005, 08:21 Titel: |
|
|
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 _________________ I am rich !!!!!! |
|
Nach oben |
|
|
|
|
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
|