LPCTSTR

Tags:    c++

C++:

Hvordan kan man convert fra char til LPCTSTR

eller convert fra char* til LPCTSTR?



Indlæg senest redigeret d. 14.06.2010 14:49 af Bruger #15938
8 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Du typecaster bare. LPCSTR er bare en char pointer...helt præcis en Long Pointer Constant STRing.



Du typecaster bare. LPCSTR er bare en char pointer...helt præcis en Long Pointer Constant STRing.


Er du sikker på det? Hvis det er det samme hvorfor så caste?

I overskriften står der "LPCTSTR", Robert taler om LPCSTR, der er et T til forskel.

Hvis du ikke bruger wide-chars, er det sikkert det samme, hvis du gør er det ikke det samme...

Så vidt jeg ved er LPCTSTR en TCHAR*:
http://msdn.microsoft.com/en-us/library/cc842072.aspx



Jeg vil gerne convert:

char test = ("Hello World");

til: LPCTSTR

eller

char* test = ("Hello World");

til: LPCTSTR

gerne også eksemple...

PS:

LPCWSTR = Unicode og LPCSTR = ANSI.



Indlæg senest redigeret d. 14.06.2010 20:38 af Bruger #15938
I overskriften står der "LPCTSTR", Robert taler om LPCSTR, der er et T til forskel.


Argh...helt korrekt. Jeg læste forkert :-$



I overskriften står der "LPCTSTR", Robert taler om LPCSTR, der er et T til forskel.


Argh...helt korrekt. Jeg læste forkert :$



Indlæg senest redigeret d. 14.06.2010 20:51 af Bruger #2695
Jeg Har brugt:


char *ansii_string = "Det virker";

int size = strlen(ansii_string);

TCHAR unicode_string[30];

mbstowcs(unicode_string, ansii_string, size+1);


og det virker men får..warning:

This function or variable may be unsafe. Consider

using mbstowcs_s instead.

og når jeg skifter det

til mbstowcs_s siger den:

'mbstowcs_s' : function does not take 3 arguments



Indlæg senest redigeret d. 14.06.2010 21:05 af Bruger #15938
Har fixet det selv .. ingen problem ^^



#include<Windows.h>

int WINAPI WinMain(HINSTANCE, HINSTANCE, PSTR, int)
{
    // Der er mange af dem. I bund og grund er de alle enten char*, const char*, wchar_t* eller const wchar_t*.
    // Hvis du altid bruger Windows typerne og TEXT("str"), opstår der ikke ANSI/Unicode problemer.
    LPCSTR lpc = const_cast<LPCSTR>("LPCSTR");
    LPCTSTR lpt = const_cast<LPCTSTR>("LPCTSTR");

    PSTR p1;
    PTSTR p2;
    PCSTR p3;
    PCTSTR p4;
}




Indlæg senest redigeret d. 17.08.2010 13:45 af Bruger #8985
t