Skocz do zawartości

string do LPCTSTR


Chronicle

Recommended Posts

witam serdecznie ;]

mam drobny problem, staram sie otworzyc plik w ktorym mam zapisana nazwe pliku ktory mam otworzyc. po wyciagnieciu nazwy tego pliku do stringa (char) nie mam pojecia jak moge go przetworzyc do formatu LPCTSTR ;( w druga strone operacja jest prosta, ale nie udaje mi sie skonwertowac STRING -> LPCTSTR.

z gory dziekuje
pozdrawiam

Link do komentarza
Udostępnij na innych stronach

LPCTSTR This type is declared in Winnt.h as follows:

#ifdef UNICODE
typedef LPCWSTR LPCTSTR;
#else
typedef LPCSTR LPCTSTR;

a z koleji

LPCSTR Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts.
This type is declared in Winnt.h as follows:

typedef CONST CHAR *LPCSTR;

Czyli jak masz sciezke w tablicy char zakonczonej '\0' to podajesz po prostu wskaznik i rzutujesz na LPCTSTR - byc moze rzutowanie nie bedzie konieczne. To oczywiscie bedzie dzialac o ile nie kompilujesz z unikodem.

pozdrowka

Link do komentarza
Udostępnij na innych stronach

Nie zabardzo wiem jakiego stringa masz na mysli jesli chodzi ci o stringa z STL-a to konwersja wyglada tak:

std:string strBuffer = "abcdefghi...";
LPCSTR cpszBuffer = strBuffer.c_str();

Jesli nie sprecyzuj swoje pytanie.

Cala sprawa wyglada tak:

FILE* pFile = fopen(...);
if (pFile)
{
   char szBuffer[100];
   fgets(szBuffer, 100, pFile);
   LPCSTR cpszFileName = (LPCSTR)szBuffer;
   fclose(pFile)
}
Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...