Jak dopisać coś do LPTSTR?

0

Mam funkcję, która przyjmuje jako parametr LPTSTR. Chcę do tego LPTSTR dopisać na początku 1 znak np. '1'. Jak to zrobić?

0

Lptstr to nic innego jak char* wiec musisz uzyc funkcji strcpy lub strcat

0
MJay napisał(a)

Lptstr to nic innego jak char* wiec musisz uzyc funkcji strcpy lub strcat

Nie do końca, a najczęściej to wręcz nieprawda.

W zależności od tego czy ustawione jest UNICODE (a najczęściej jest), LPTSTR to LPSTR (nieustawione) albo LPWSTR (ustawione).

LPSTR to faktycznie char*, ale LPWSTR to wchar_t*.

Jeżeli korzystasz z typu LPTSTR, należy użyć funkcji/makr _tcscpy_s lub _tcscat_s. Jeżeli piszesz w C++, ich użycie będzie identyczne jak tradycyjnych funkcji.

0

Mam pytanie do tematu. Nie lepiej po prostu stosowac LPSTR zamiast LPTSTR? Ja zawsze tak robilem i nie bylo zadnych bledow.
Ps. Przepraszam za brak polskich znakow.

0

Nie lepiej po prostu stosowac LPSTR zamiast LPTSTR?
Nie, nie lepiej, bo tracisz możliwość obsługi Unicode.
Ale można.

0

W CRT Visuala jest _tcscat (strcat dla TCHAR'ów).
http://msdn.microsoft.com/en-us/library/h1x0y282.aspx
Podobnie jest dla innych funkcji. Lista pod tym linkiem (trzeba sobie wybrać konkretną funkcję i dopiero wewnątrz jej opisu podane są wersje TCHAR):
http://msdn.microsoft.com/en-us/library/f0151s4x.aspx

Są jeszcze funkcje systemowe:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb759983%28v=vs.85%29.aspx

1 użytkowników online, w tym zalogowanych: 0, gości: 1