JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=4dc05bbc47227ebe554f2ce924ade3a6Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

TXT Datein Konvertieren

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


Alter: 33
Anmeldedatum: 10.04.2005
Beiträge: 96
Wohnort: Germering
Medaillen: Keine

BeitragVerfasst am: 30.12.2007, 18:51    Titel: TXT Datein Konvertieren Antworten mit Zitat

Hallo,
Ich hätte mal eine frage. Wenn ich unter Linux programmiere und dann meine ganzen Level usw Textdatein unter Windows einsetzen will gibt es probleme mit dem Zeilenumbruch usw. Da wollte ich fragen ob es nicht ein toll gibt das mir automatisch solche fehler ausbügel?
_________________

"Die Codeschleuder" das Spieleprogrammierer Magazin
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 30.12.2007, 19:54    Titel: Antworten mit Zitat

Du solltest deine Datei einheitlich halten (d.h. entweder CR-LF oder CR oder sonst was), schau dir das mal an:
http://board.gulli.com/thread/233573-win-editor-der-linux-zeilenumbruch-kann/

Ansonsten kann ich dir notepad++ sehr empfehlen, ünterstützt nebenbei noch syntax highlighting in allen Sprachen.

Gruß DXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
fkrauthan
Junior JLI'ler


Alter: 33
Anmeldedatum: 10.04.2005
Beiträge: 96
Wohnort: Germering
Medaillen: Keine

BeitragVerfasst am: 30.12.2007, 20:13    Titel: Antworten mit Zitat

Die Frage ist wie geht fscanf mit den daten um. Ich habe da nämlich ein Prolbem unter Linux läuft das programm ohne Porlbeme und Windows scheint er irgednie die TXT Datei nicht richitg zu laden. Obwohl es komplet der Selbe Code ist.
_________________

"Die Codeschleuder" das Spieleprogrammierer Magazin
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
FH
Super JLI'ler


Alter: 36
Anmeldedatum: 16.10.2004
Beiträge: 438

Medaillen: Keine

BeitragVerfasst am: 30.12.2007, 22:09    Titel: Antworten mit Zitat

Ich fürchte, du wirst dir ne eigene Implementation von fscanf schreiben müssen...
Weil es ist halt, wie es ist: Linux verwendet nur CR, Win CR-LF. Du wirst entweder die Dateien zu Binärdateien machen und dann auch so öffnen müssen, oder für Win und Linux separate Dateien erstellen.
Gruß

FH
_________________
goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 30.12.2007, 22:13    Titel: Antworten mit Zitat

du kannst auch mit streams die dateien im binärmodus öffnen und das jeweiligezeichen als delimiter für std::getline benutzen. dann hast du dir viel arbeit erspart und gleich noch c++ für alten c-style eingebaut.

Gruß DXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
fkrauthan
Junior JLI'ler


Alter: 33
Anmeldedatum: 10.04.2005
Beiträge: 96
Wohnort: Germering
Medaillen: Keine

BeitragVerfasst am: 30.12.2007, 22:23    Titel: Antworten mit Zitat

Hmm joa das hatte ich mir auch schon überlegt. Muss nur halt wieder etwas code umändern und dann muss ich ja dann noch jeweils eingelsene Zeilen in int convertieren kann mir da evt jemand noch ne elegante lösung sagen?
_________________

"Die Codeschleuder" das Spieleprogrammierer Magazin
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 30.12.2007, 22:39    Titel: Antworten mit Zitat

Schonmal stringstreams benutzt? Damit kann man spielend leicht Strings konvertieren:
CPP:
sstream Stream;
string Text "17 16 15";
int a, b, c;
Stream.str(Text);
Stream >> a >> b >> c;
//a ist gleich 17 und c gleich 15

Das mal als kleine Demonstration. Ansonsten wäre bei etwas komplexeren Dateien evtl. XML angebracht, da gibt es auch Parser, die mit den Unterschiedlichen Zeilenende klarkommen sollten.
Ansonsten wäre eine kleine Vereinfachung ja auch:
Code:

Schwerkraft 1.0f
Sprungkraft 15.0f
Lebensenergie 4

Was du mit stringstreams dann ja auch extrem einfach laden kannst. Man sollte auch irgendwie angeben können, dass er bei '=' unterbricht, das wäre noch angenehmer, denke ich.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
fkrauthan
Junior JLI'ler


Alter: 33
Anmeldedatum: 10.04.2005
Beiträge: 96
Wohnort: Germering
Medaillen: Keine

BeitragVerfasst am: 30.12.2007, 23:01    Titel: Antworten mit Zitat

Sind diese String streams arg langsam? Und welche Header benötigen sie? Sind die unter Win und Linux vorhanden?
_________________

"Die Codeschleuder" das Spieleprogrammierer Magazin
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
FH
Super JLI'ler


Alter: 36
Anmeldedatum: 16.10.2004
Beiträge: 438

Medaillen: Keine

BeitragVerfasst am: 31.12.2007, 00:04    Titel: Antworten mit Zitat

StringStreams gehören zur STL. Ergo sollten sie unter Linux und Win gehen.
Liegen im stl-Namespace. Include-Datei müsste "sstream" sein.
Arg langsam: Sagen wir es mal so: Es gibt keine schnellen String-Operationen. Wink
Die Dinger heißen dann aber std::stringstream nicht std::sstream, aber da bin ich mir nicht 100% sicher. Aber das kann man in der Doku ja nachlesen.
Gruß

FH
_________________
goto work, send your kids to school
follow fashion, act normal
walk on the pavement, watch T.V.
save for your old age, obey the law
Repeat after me: I am free
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 31.12.2007, 09:35    Titel: Antworten mit Zitat

Ja sorry, der Header heißt sstream das Ding selber stringstream.
Bei Geschwindigkeit kommt es halt darauf an, was du damit machen willst. Wenn du einen Hochleistungsparser schreiben willst, sind sie vielleicht nicht optimal, aber für alles andere sollte man die heute benutzen. Der Komfort und die Stabilität lohnt sich auf jeden Fall.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
fkrauthan
Junior JLI'ler


Alter: 33
Anmeldedatum: 10.04.2005
Beiträge: 96
Wohnort: Germering
Medaillen: Keine

BeitragVerfasst am: 31.12.2007, 10:21    Titel: Antworten mit Zitat

Ah super danke. Dann werde ich mich gleich hinsetzen und mal einen großen teil meines Codes umändern Very Happy
_________________

"Die Codeschleuder" das Spieleprogrammierer Magazin
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
fkrauthan
Junior JLI'ler


Alter: 33
Anmeldedatum: 10.04.2005
Beiträge: 96
Wohnort: Germering
Medaillen: Keine

BeitragVerfasst am: 31.12.2007, 11:30    Titel: Antworten mit Zitat

So sehr schön hab schon einen Teil des Codes umgestellt. Zumindest unter Linux funzt noch alles. Allerdings verwende ich zum umwandeln vom char[] zu int die Funktion "atoi".
Danke nochmal an alle für die schnelle Hilfe
_________________

"Die Codeschleuder" das Spieleprogrammierer Magazin
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
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