Aktuelle Zeit: 15.06.2025, 13:30

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Datei öffnen mit wstring-Pfad
BeitragVerfasst: 27.08.2008, 20:36 
Offline

Registriert: 13.03.2007, 22:45
Beiträge: 65
Hallo,

wenn ich durch die WinAPI einen Dateipfad als wstring bzw. wchar_t bekommen habe und die Datei nun mit IrrXML (bzw. Irrlicht) öffnen will, wie mache ich das?

Denn Irrlicht (createXMLReader (const c8 *filename))verlangt ja ein char array und kein wchar_t array.

Muss ich das umwandeln? Wenn ja, wie? Gibt es noch andere Möglichkeiten, das direkt so zu übergeben?

Danke.
D.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Datei öffnen mit wstring-Pfad
BeitragVerfasst: 28.08.2008, 10:56 
Offline
Newsposter
Benutzeravatar

Registriert: 12.03.2007, 10:42
Beiträge: 338
Wohnort: Berlin
Hallo Donner,
Schau doch mal dort nach:
http://irrlicht3d.de/forum2/viewtopic.php?f=1&t=184&hilit=wchar_t

das sollte dir helfen.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Datei öffnen mit wstring-Pfad
BeitragVerfasst: 02.09.2008, 16:08 
Offline
Newsposter
Benutzeravatar

Registriert: 12.03.2007, 10:42
Beiträge: 338
Wohnort: Berlin
IceFire_darkalex hat geschrieben:
Ich hab versucht es so zu lösen:

Code:
   char* ConvertWCHARtoCHAR(const wchar_t* wchartary, int intMaxChar)
   {
      char *Ziel;
      wcstombs(Ziel, wchartary, intMaxChar);
      return Ziel;
   }


Aber das mag net *gg* scheint nix zu returnen...


ein problem das ich auch hatte, der pointer wird zwar zurück gegeben, aber der Speicherbereich wurde beim verlassen der Funktion wieder Freigegeben, weil der pointer innerhalb der Funktion erstellt wurde.
und wie man die grösse des strings in bit bekommt muss ich erst nachsehen(brauch eh ne beschäftigung, muss 5:00 morgens im rechenzentrum sein)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Datei öffnen mit wstring-Pfad
BeitragVerfasst: 02.09.2008, 17:21 
Offline

Registriert: 28.08.2008, 00:12
Beiträge: 18
DAnke! Wenn du mir das in die PN geshchrieben hättest wär ich jetzt evtl glücklich *gg*

Ungetestet, aber müsste gehn:

Code:
wcstombs(destination, source, intMaxChar);


*gg*


Ok tested: geht net ganz. HAbs so gelöst:

Code:
wcstombs(packetData, loginname->getText(),wcslen(loginname->getText()));



sende ich nun packetData an meinen Server, so kommt drüben dashier an:
45ýWVSüýá?bn

Ins Login-Feld eingegeben in diesem Fall: 45
Anderes Beispiel - Loginfeld: L
Ergebnis: LïýWVSüýá?bn

Noch einmal, eingegeben: 450000000000000
Angekommen: 450000000000000àð?  3?ëEÞâ.~?


was kann ich bzw der Threadersteller dagegen unternehmen?

_________________
LG Alex.

Btw.: Die Buchstabenkombination "cih" stehtimmer für "ich" (z.B. möglcih). Das ist mein lieblingsfehler >.< Scheiß 10-Finger-System


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Datei öffnen mit wstring-Pfad
BeitragVerfasst: 02.09.2008, 18:46 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
wcstombs wird wahrscheinlich auch ein pendant haben, dass die länge des umzuwandelnen strings als parameter nimmt, ansonsten einfach noch ein \0 an den string dranhängen

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Datei öffnen mit wstring-Pfad
BeitragVerfasst: 02.09.2008, 19:14 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Zitat:
wcstombs(packetData, loginname->getText(),wcslen(loginname->getText()));

Das Problem ist der dritte Parameter:
Hier gehört nicht die Länge des Strings hin, sondern die Länge, die maximal nach packetData geschrieben werden darf! also evtl +1! (Eigentlich sollte dann da ein \0 angehängt werden)

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Datei öffnen mit wstring-Pfad
BeitragVerfasst: 02.09.2008, 22:45 
Offline

Registriert: 28.08.2008, 00:12
Beiträge: 18
Ne... DAs Problem ist RakNet^^

meine Übertragung war nicht richtig. ich muss nämlich als länge angeben (strlen(packetData)+1)*8


Die umwandlung ansich funzt makellos

_________________
LG Alex.

Btw.: Die Buchstabenkombination "cih" stehtimmer für "ich" (z.B. möglcih). Das ist mein lieblingsfehler >.< Scheiß 10-Finger-System


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de