tchar

What is the simplest way to convert char[] to/from tchar[] in C/C++(ms)?

This seems like a pretty softball question, but I always have a hard time looking up this function because there seem there are so many variations regarding the referencing of char and tchar. ...

Handling TCHARs in header files for libraries with different character sets.

I have a project that uses two third party libraries, both of which make use of TCHARs in their header files. Unfortunately one library is complied as multi-byte (call it library a), and the other is compiled as Unicode (call it library b). Now the way I understand it is that TCHAR is replaced by the precompiler with either wchar or cha...

tchar.h on linux

I am trying to write cross platform i18n C++ code. Since most linux system prefer to use UTF-8 as the character encoding, I thought that I should use string on linux and wstring on Windows. Is tchar.h available on linux? What is an equivalent replacement on for tchar.h on Linux? ...

How to assign a value to a TCHAR array

I have a TCHAR array in my C++ code which I want to assign static strings to it. I set an initial string to it via TCHAR myVariable[260] = TEXT("initial value"); Everything works fine on this. However, when I split it in two lines as in TCHAR myVariable[260]; myVariable = TEXT("initial value"); it bugs and gives a compiler error: ...

How do I convert from _TCHAR * to char * when using C++ variable-length args?

We need to pass a format _TCHAR * string, and a number of char * strings into a function with variable-length args: inline void FooBar(const _TCHAR *szFmt, const char *cArgs, ...) { //... } So it can be called like so: char *foo = "foo"; char *bar = "bar"; LogToFileA(_T("Test %s %s"), foo, bar); Obviously a simple fix would be t...

How am I using CA2W incorrectly?

Please could someone explain why this does not work? char *test = "test"; _TCHAR *szTest = CA2W(test); And please tell me what I should be doing instead. Instead of giving me equal text, it's giving me: ﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾﻾ ...

convert tchar array to char array

how to convert to tchar[] to char[].. ...

How to convert std::wstring to a TCHAR*

std::wstring.c_str() returns a wchar_t*. How do I get from wchar_t* to TCHAR*, or from std::wstring to TCHAR* Thanks ...

strcmp or _tcscmp in UNICODE

hi For comparing strings in UNICODE versions is it advisable to use strcmp or _tcscmp? Thanks in advance ...

How do I convert a "pointer to const TCHAR" to a "std::string"?

I have a class which returns a typed pointer to a "const TCHAR". I need to convert it to a std::string but I have not found a way to make this happen. Can anyone provide some insight on how to convert it? ...

TCHAR[], LPWSTR, LPTSTR and GetWindow Text function

So the GetWindowText is declared on MSDN as follows: int GetWindowText( HWND hWnd, LPTSTR lpString, int nMaxCount ); However for the code to work we have to declare the second parameter as TCHAR[255] WTitle; and then call the function GetWindowText(hWnd,Wtitle,255); The LPTSTR is a pointer to an array of tchar, so...

User defined conversion operator as argument for printf

I have a class that defined a user defined operator for a TCHAR*, like so CMyClass::operator const TCHAR*() const { // returns text as const TCHAR* } I want to be able to do something like CMyClass myClass; _tprintf(_T("%s"), myClass); or even _tprintf(_T("%s"), CMyClass(value)); But when trying, printf always prints (null) ...

Convert TCHAR* argv[]

i want to enter a text into TCHAR* argv[], how its possible to do. OR how to convert from a character to TCHAR* argv[]. Please help char randcount[]="Hello world"; want to convert to TCHAR* argv[] ...

How to deal with Unicode strings in C/C++ in a cross-platform friendly way?

On platforms different than Windows you could easily use char * strings and treat them as UTF-8. The problem is that on Windows you are required to accept and send messages using wchar* strings (W). If you'll use the ANSI functions (A) you will not support Unicode. So if you want to write truly portable application you need to compile ...

Flexible string handling in Visual Studio 2008 C++

I'm slowly starting to get the hang of the _T stuff in Visual Studio 2008 c++, but a few things still elude me. I can see the benefit of the flexibility, but if I can't get the basics soon, I think I'll go back to the standard way of doing this - much less confusing. The idea with the code below is that it scans the parameters for -d a...

Why is there garbage in my TCHAR, even after ZeroMemory()?

I have inherited the following line of code: TCHAR temp[300]; GetModuleFileName(NULL, temp, 300); However, this fails as the first 3 bytes are filled with garbage values (always the same ones though, -128, -13, 23, in that order). I said, well fine and changed it to: TCHAR temp[300]; ZeroMemory(temp, 300); GetModuleFileName(NULL, tem...

Differentiate between TCHAR and _TCHAR

What are the various differences between the two symbols TCHAR and _TCHAR type defined in the Windows header tchar.h? Explain with examples. Briefly describe scenarios where you would use TCHAR as opposed to _TCHAR in your code. (10 marks) ...

Windows C++: LPCTSTR vs const TCHAR

In my application i'm declaring a string variable near the top of my code to define the name of my window class which I use in my calls to RegisterClassEx, CreateWindowEx etc.. Now, I know that an LPCTSTR is a typedef and will eventually follow down to a TCHAR (well a CHAR or WCHAR depending on whether UNICODE is defined), but I was wond...

tchar safe functions -- count parameter for UTF-8 constants

I'm porting a library from char to TCHAR. the count parameter of this fragment, according to MSDN, is the number of multibyte characters, not the number of bytes. so, did I get this right? My project properties in VC9 say 'use unicode character set' and I think that's correct, but I'm not how that impacts my count parameter. _tcsncmp(ac...

proper style for interfacing with legacy TCHAR code

I'm modifying someone else's code which uses TCHAR extensively. Is it better form to just use std::wstring in my code? wstring should be equivalent to TString on widechar platforms so I don't see an issue. The rationale being, its easier to use a raw wstring than to support TCHAR... e.g., using boost:wformat. Which style will be more c...