Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

C++: Pfade aus Textdaei auslesen

Yves3 / 6 Antworten / Flachansicht Nickles

hallo

ich möchte die pfade für meine texturen aus einer textdaei auslesen.

wenn ich das so mache, funktioniert es:

fgets(Test,25,pDatei); // bei 24 zeichen langem pfad

D3DXLoadSurfaceFromFile(VecTileSurface[0], 0,0,Test,0,D3DX_DEFAULT,0,0);

dummerweise ist der pfad nicht immer gleich lang und wenn ich fogendes schreibe funktioniert es nicht:

fgets(Test,100,pDatei);

hab es auch schon mit tricks probiert:

fgets(Test,100,pDatei);
strncpy(Buffer,Text,sizeof(Text));

D3DXLoadSurfaceFromFile(VecTileSurface[0], 0,0,Buffer,0,D3DX_DEFAULT,0,0);

hat leider auch nicht funktioniert :-(
komischerweise wird der pfad immer richtig dargestellt, wenn ich ihn mit einer messagebox ausgebe.

ach ja meine textdatei:

4
1
3 3 3 3 3 3 3 3
1 1 0 0 0 0 1 2
1 1 0 2 0 0 1 2
1 3 0 0 3 0 1 2
0 1 0 0 0 0 1 2
1 1 0 1 0 0 1 2
..\\\\media\\\\tile_gras.png
..\\\\media\\\\tile_sand.png
..\\\\media\\\\tile_asphalt.png
..\\\\media\\\\tile_fels.png

bin jetzt volle 2 tage an diesem sch**** problem und bin langsam aber sicher am verzweifeln.

für antworten bin ich sehr dankbar!

bei Antwort benachrichtigen
IDE-ATAPI mr.escape „Ich fürchte, IDE-ATAPIs variante hätte nicht funktioniert, denn zeilen werden...“
Optionen

hi mr.escape,

"Ich fürchte, IDE-ATAPIs variante hätte nicht funktioniert, denn zeilen werden in textdateien nicht mit '\0' getrennt (sondern je nach system mit CR, LF oder CRLF bzw. 0x0d, 0x0a oder 0x0d+0x0a)."

Da hast du recht, die Ausgangsdatei darf natürlich nicht mit dem Editor erstellt werden, deswegen mein Satz: "Beim hineinschreiben der Pfade setzt du am Ende des Strings das 0x00".

happy coding,

Gruß
IDE-ATAPI

bei Antwort benachrichtigen