einzeln auf Highbyte und Lowbyte eines wide char zugreifen

Hallo,

Ok endlich denn einen Fehler gefunden (hoffe ich zumindest) ich hatte ne Abfrage drin ob das FileObjekt das erstellt wurde au vorhanden ist nur ging die if dannau wieder zu und dann hab ich noch ftprints gehabt.. wahrscheinlich ist er da dann irgendwann drübergefallen falls das generieren des files net geklappt hat oder so..oh man^^

was so eine einfach klammer alles auslösen kann :( vor allem wie ist die da hingekommen .. oh man..


Die ftprints hab ich übrigens erst nachdem eingebaut nachdem ich das mit dem mbstowcs() gefixt hatte also nachdem ich meine eigene Version der FKT hergenommen habe.. hätte vielelciht nicht gleichzeitig was fixen und was enues einbauen sollen..weil dann wäre sicherlich schneller klar gewesen das es mit dem neu eingebauten ftprints zu tun hat, ich dachte eben immer das es allgemein ein Problem gab wegen SDK Versionen oder das eine Datei fehlt oder so..


Aber irgendwie will es einfach net werden.. jetzt stürzt er bei nem anderem Teil des Programms ab, wo auch ne Datei geschrieben wird auch wieder ftprints() :(
Leider ist da alles Ordnungsgemäß in der if drin.. schade.. naja dann heissts wohl weiter suchen :(

Bei den fprints schreib i meine eigen umkonvertierten wide chars rein i denk mal das es daran liegt weil der Teil des Programms sonst immer Fehlerfrei lief..

kann es sein das der die wide chars bei mir anders interpretiert als auf einem anderen Rechner oder so..

noch ne andere Idee, ich benutze in diesem Abschnitt Mailslots kann es sein das die bei ihm nicht angelegt werden oder so ?


greetz and thx again sand13r
 
Keine Ahnung warum er da bei den fprintfs zickt und mit Mailslots kenne ich mich kaum aus. Wie gesagt, ein paar Messageboxen verwenden, um die Eingaben für die Problemfunktionen zu überprüfen.

Gruß
MCoder
 
Sorry hab hier jetzt nicht alles gelesen aber folgender Code:
C++:
wchar_t theChar[500];
char *pBytePtr = (char*) & theChar;
... du castest hier einen wchar_t** in einen char*, das ist der bewusst?
 
HalliHallo,

@devDevil Somit kann ich jeweils auf das High und Lowbyte des widechars zugreifen

Das zweite Problem ist au gelöst :D hatte bei einem ftprintf() ein %s hab aber einen Integer übergeben (kollege hats gefunden -.- ) und anstatt einer schönen Compilermeldung raucht das Programm einfach ab :(
Wohlgemerkt immer nur bei meinem Kolleggen bei mir lief es immer.. schon komisch -.-

@MCoder Danke nochmals für deine Hilfe! Ganz großes Tennis xD


greetz sand13r
 
Hi.
@devDevil Somit kann ich jeweils auf das High und Lowbyte des widechars zugreifen
devDevil meinte damit, dass es etwas unsinnig ist einen "Zeiger auf einen Zeiger auf wchar_t" in "einen Zeiger auf char" zu casten. Unsinnig vor allem auch, weil man die Adresse von einem statischen Array nicht mit dem Adress-Operator ermitteln kann.

Schreib's lieber so:
C++:
wchar_t theChar[500];
char *pBytePtr = (char*)theChar;
Gruß
 
Zurück