[C++] zamiana definicji na stringa

Awatar użytkownika
miki999
Użytkownik
Użytkownik
Posty: 8691
Rejestracja: 28 lis 2007, o 18:10
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 36 razy
Pomógł: 1001 razy

[C++] zamiana definicji na stringa

Post autor: miki999 »

Witam!

Mam taki oto kłopocik.

Dysponuję w C++ pewnym obiektem (tak to się chyba nazywa), który jest wywoływany poniższym kodem:

Kod: Zaznacz cały

lLastError = serial.Open(_T("COM6"),0,0,false);
Chciałbym zamienić, aby zamiast "COM6" był string (lub zmienna pochodząca od stringa- domyślnie wczytywana z pliku), ale wywala błąd przy kompilacji.

Znalazłem, że: #define _T(x) __T(x) oraz #define __T(x) L ## x.

Mam nadzieję, że dostarczyłem pełnej informacji. Jesteście w stanie mi pomóc?


Pozdrawiam.
royas
Użytkownik
Użytkownik
Posty: 363
Rejestracja: 24 sie 2012, o 09:27
Płeć: Mężczyzna
Lokalizacja: Cieszyn
Pomógł: 80 razy

[C++] zamiana definicji na stringa

Post autor: royas »

Spróbuj pominąć _T() i odpowiednio skonwertować stringa.
Chyba coś takiego:
s string;...;lLastError = serial.Open(s.c_str(),0,0,false);
Awatar użytkownika
miki999
Użytkownik
Użytkownik
Posty: 8691
Rejestracja: 28 lis 2007, o 18:10
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 36 razy
Pomógł: 1001 razy

[C++] zamiana definicji na stringa

Post autor: miki999 »

Dziękuję za odpowiedź. Pewnie to głupie, ale jednak nie wiem co to ma być s string;.

edit.:
Wpisałem coś takiego:

Kod: Zaznacz cały

   string s("COM6");
   lLastError = serial.Open(s.c_str(),0,0,false);
Otrzymany błąd kompilatora:
cannot convert parameter 1 from 'const char *' to 'LPCTSTR'
edit. 2.
Ok, już sobie poradziłem.
Użyłem takowego kodu:

Kod: Zaznacz cały

   CString strPort((mystring));
   TCHAR sz[1024];
   lstrcpy(sz, strPort);
   lLastError = serial.Open(sz,0,0,false);
W mystring siedzi string COM6 pobrany z pliku. Dodałem również bibliotekę afx.h.


Pozdrawiam.
ODPOWIEDZ