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 

Problem mit Dateiarbeit

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



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 11.08.2003, 08:53    Titel: Problem mit Dateiarbeit Antworten mit Zitat

Hi!

Wenn ich eine Dateiöffnen will kann ich das ja so machen:

FILE *Datei;
char filename[128];

sprintf(filename,"C:\\test.txt");

Datei = fopen(filename,"r");

==> funktioniert auch.

Nur wenn ich mehrere Dateien zur Auswahl habe und die Pfade in einem Array char paths[100][128] habe. Und ich will das so machen, dann klappt das nicht! Sad

FILE *Datei;
char filename[128];

sprintf(filename,paths[0]);

Datei = fopen(filename,"r");

wenn ich aber den Wert von path[0] ausgebe steht da:
c:\test.txt

Ich weiß wirklich nicht, an was das liegen könnte...Sad
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 11.08.2003, 09:09    Titel: Antworten mit Zitat

hab jetzt einfach das hier geschrieben und es hat geklappt:

filename[strlen(filename)-1]=0;
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael
JLI'ler



Anmeldedatum: 20.07.2002
Beiträge: 173
Wohnort: Münster / NRW
Medaillen: Keine

BeitragVerfasst am: 11.08.2003, 10:35    Titel: Antworten mit Zitat

das scheint dann also ein problem zu sein bei der initialisierung der einzelnen strings in dem array. denn das problem lag ja offensichtlihc daran, dass die zeichenketten nicht abgeschlossen waren, weil du genau das ja manuell gemacht hast.
Würde mich aber mal interessieren warum die nicht abgeschlossen sind. Wie initialisiert du denn das paths-array?
_________________
Es geht auch ohne Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 11.08.2003, 11:55    Titel: Antworten mit Zitat

die sind davor auch abgeschlossen, glaub mir!
Ich lese die ja mit fgets() ein.
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 11.08.2003, 11:59    Titel: Antworten mit Zitat

Zitat:
The fgets function reads a string from the input stream argument and stores it in string. fgets reads characters from the current stream position to and including the first newline character[...]


Daran hat es gelegen. Ich hatte nämlich mal das gleiche Problem. ;)
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael
JLI'ler



Anmeldedatum: 20.07.2002
Beiträge: 173
Wohnort: Münster / NRW
Medaillen: Keine

BeitragVerfasst am: 11.08.2003, 12:09    Titel: Antworten mit Zitat

was heißt das?
das er das \n zeichen noch ließt aber kein \0 hinten dranhaut oder was?
_________________
Es geht auch ohne Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
AFE-GmdG
JLI MVP
JLI MVP


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

BeitragVerfasst am: 11.08.2003, 12:17    Titel: Antworten mit Zitat

Nein, das der Dateiname ein \n-Zeichen enthält, das es im Dateinamen eigendlich nicht gibt...
_________________
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: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 11.08.2003, 12:23    Titel: Antworten mit Zitat

Das heißt, dass fgets solange einließt bis es auf ein \n oder auf eof stößt. Ein \0 packts auch dran(wie Millenium ja gesagt hat).
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 11.08.2003, 12:36    Titel: Antworten mit Zitat

genau und deshalb sieht meine Codezeile auch so aus

if(filename[strlen(filename)-1]== '\n')
filename[strlen(filename)-1]=0;
_________________
The source of all power is in its destiny...
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