JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Dateiexistenz überprüfen

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



Anmeldedatum: 31.08.2003
Beiträge: 366
Wohnort: Duisburg
Medaillen: Keine

BeitragVerfasst am: 14.09.2003, 11:29    Titel: Dateiexistenz überprüfen Antworten mit Zitat

Wie kann man überprüfen, ob eine Datei existiert? z.B. will ich mehere Screenshots abspeichern. Wenn jetzt die Datei "Screenshot01.bmp", will ich, dass der nächste Screenshot die erste Datei nicht überschreibt, sondern erst überprüft, ob die erste existiert. Und wenn sie existiert, soll der Screenshot unter dem Namen "Sceenshot02" abgespeichert werden.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 14.09.2003, 11:41    Titel: Antworten mit Zitat

if(fopen("...","r") == NULL) // Datei existiert nicht.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 14.09.2003, 11:50    Titel: Antworten mit Zitat

Die Datei sollt aber auch wieder geschlossen werden, sonst sind die Dateihandles ganz schnell alle:
Code:
if((FILE *fp=fopen("...", "r"))==NULL) {
  // Datei Existiert nicht
} else {
  // Datei existiert [b]und ist offen[/b]
  fclose(fp);
}

HTH, AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 14.09.2003, 11:51    Titel: Antworten mit Zitat

Naja das muss man voraussetzen. :P Wenn er sich schon mit Dateiarbeit auskennt sollte ihm das wohl klar sein. ;) (nehme ich einfach mal an :P)
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
LeeDiGer
Super JLI'ler



Anmeldedatum: 31.08.2003
Beiträge: 366
Wohnort: Duisburg
Medaillen: Keine

BeitragVerfasst am: 14.09.2003, 12:22    Titel: Antworten mit Zitat

Ich hab hier einen Ausschnitt aus dem Programmcode. Es lief bisher Fehlerfrei. Wenn ich keine Datei in einer Variable abspeicher, muss ich dann auch nix mehr schließen, oder?

int Num=0;
sprintf(TextBuffer,"c://screenshot%004d.bmp",Num);
while(fopen(TextBuffer,"r") != NULL)
{
Num++;
sprintf(TextBuffer,"c://screenshot%004d.bmp",Num);
}
Direct3D.CreateScreenshot(TextBuffer);
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 14.09.2003, 12:31    Titel: Antworten mit Zitat

Doch, du öffnest jede Datei, beser so:

int Num=0;
FILE *fp;
sprintf(TextBuffer,"c://screenshot%004d.bmp",Num);
while((fp = fopen(TextBuffer,"r")) != NULL)
{
fclose(fp);
Num++;
sprintf(TextBuffer,"c://screenshot%004d.bmp",Num);
}
Direct3D.CreateScreenshot(TextBuffer);
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
LeeDiGer
Super JLI'ler



Anmeldedatum: 31.08.2003
Beiträge: 366
Wohnort: Duisburg
Medaillen: Keine

BeitragVerfasst am: 14.09.2003, 12:34    Titel: Antworten mit Zitat

Was passiert denn, wenn ich diese paar Zeilen nicht umändere?
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