TCHAR* Problem - Windows klaut/verschluck Zeichen!
-
Hallo!
In meinem main.c Programm habe ich eine TCHAR Variable, die einen Pfad enthält:
TCHAR fname [] = _T ( "C:\\Dokumente und Einstellungen\\User1\\Desktop\\test.txt" );
In einer anderen Datei mit dem Namen test.c gibt es eine Funktion, der die Variable übergeben wird:
void test ( TCHAR* s ) { _putts ( s ); }
Das Problem ist: es wird nur der erste Buchstabe, also das C ausgegeben.
// Ausgabe: C
Kurios daran ist, wenn ich die Funktion void test ( TCHAR s )* in die main.c Datei schreibe, das die Ausgabe dann richtig funktioniert.
Was mache ich für einen Fehler?
-
TCHAR* n00b schrieb:
Was mache ich für einen Fehler?
Vermutlich compilierst du die beiden Dateien mit unterschiedlichen Zeichensatz-Einstellungen.
-
Ich habe in meinem main.c Programm #define _UNICODE geschrieben.
Sonst wüsste ich nicht, was ich einstellen muss.
-
TCHAR* n00b schrieb:
Ich habe in meinem main.c Programm #define _UNICODE geschrieben.
...und in test.c hast du das nicht getan. Das ist das Problem.
-
MFK schrieb:
TCHAR* n00b schrieb:
Ich habe in meinem main.c Programm #define _UNICODE geschrieben.
...und in test.c hast du das nicht getan. Das ist das Problem.
Stimmt. Das habe ich nachträglich eingegeben, aber das Problem bleibt leider bestehen.
-
Kommando zurück!
Ich musste in der test.c #define _UNICODE über die #include <TCHAR.H> schreiben,
jetzt funktioniert es.
Vielen Dank!
-
gib lieber dem Compiler (oder Präprozesser, je nachdem wie deine Toolchain aussieht) die Anweisung, Makros wie DEBUG / _DEBUG und UNICODE / _UNICODE Projektglobal zu definieren.
-
Ist irgendwie sinnvoll.
Macht man das unter Projekteinstellungen, Reiter C/C++, Texteingabefeld Präprozessor-Definitionen ?
-
Hallo,
Macht man das unter Projekteinstellungen, Reiter C/C++, Texteingabefeld Präprozessor-Definitionen ?
Genau so ist es...
MfG,
Probe-Nutzer
-
Probe-Nutzer schrieb:
Hallo,
Macht man das unter Projekteinstellungen, Reiter C/C++, Texteingabefeld Präprozessor-Definitionen ?
Genau so ist es...
MfG,
Probe-Nutzer
Vielen Dank für die Info!
Und überhaupt ist es ganz doll toll, das man in diesem Forum immer wieder kompetente Hilfe bekommt!
*freu*