Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 11.08.2003, 08:53 Titel: Problem mit Dateiarbeit |
|
|
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!
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... _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 11.08.2003, 09:09 Titel: |
|
|
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 |
|
|
Michael JLI'ler
Anmeldedatum: 20.07.2002 Beiträge: 173 Wohnort: Münster / NRW Medaillen: Keine
|
Verfasst am: 11.08.2003, 10:35 Titel: |
|
|
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 |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 11.08.2003, 11:55 Titel: |
|
|
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 |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 11.08.2003, 11:59 Titel: |
|
|
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 |
|
|
Michael JLI'ler
Anmeldedatum: 20.07.2002 Beiträge: 173 Wohnort: Münster / NRW Medaillen: Keine
|
Verfasst am: 11.08.2003, 12:09 Titel: |
|
|
was heißt das?
das er das \n zeichen noch ließt aber kein \0 hinten dranhaut oder was? _________________ Es geht auch ohne |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 11.08.2003, 12:17 Titel: |
|
|
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 |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 11.08.2003, 12:23 Titel: |
|
|
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 |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 11.08.2003, 12:36 Titel: |
|
|
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 |
|
|
|