02. august 2006 - 20:12
Der er
7 kommentarer og 1 løsning
Cannot convert parameter 1 from 'char [5]' to 'LPCWSTR'
Følgende kode giver nedenstående fejl: char portstr[5] = "COM "; portstr[3] = 48 + port ; HComdev = CreateFile(L(portstr), GENERIC_READ | GENERIC_WRITE, NULL, 0, OPEN_EXISTING, 0, 0); *************** Fejl: error C2664: 'CreateFileW' : cannot convert parameter 1 from 'char [5]' to 'LPCWSTR' Hvordan retter jeg det?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
02. august 2006 - 20:15
#1
Hvis du bruger unicode (som W på CreateFile indikerer) skal portstr nok være wchar_t eller WSTR?
02. august 2006 - 20:17
#2
proev: wchar_t portstr[5] = L"COM "; portstr[3] = 48 + port ; HComdev = CreateFile(portstr, GENERIC_READ | GENERIC_WRITE, NULL, 0, OPEN_EXISTING, 0, 0);
02. august 2006 - 20:18
#3
Det kunne f.ex være: #define UNICODE #include <windows.h> int main() { WCHAR portstr[5] = L"COM "; WCHAR port = 1; portstr[3] = 48 + port; HANDLE HComdev = CreateFile(portstr, GENERIC_READ | GENERIC_WRITE, NULL, 0, OPEN_EXISTING, 0, 0); } Bemærk at jeg har flyttet L(...)
02. august 2006 - 20:19
#4
Det var meget bedre;-) Tak for hjælpen - ligger du et svar?
02. august 2006 - 20:20
#5
Nå, det var vi næsten enige om. Gcc er i øvrigt lidt emsig, den bryder sig ikke om at du bruger NULL som tredie parameter, det er ikke en pointer.
02. august 2006 - 20:23
#6
jeg vil nok ioevrigt mene at: TCHAR portstr[5] = _T("COM "); portstr[3] = 48 + port ; HComdev = CreateFile(portstr, GENERIC_READ | GENERIC_WRITE, NULL, 0, OPEN_EXISTING, 0, 0); nok var paenere fordi argumentet faktisk er LPCTSTR som dog altid er en LPCWSTR paa NT/2000/2003
02. august 2006 - 20:32
#7
Point må gå til Arne, jeg samler ikke.
04. august 2006 - 01:32
#8
det skal da så kun være p.g.a. min sidste T post
Kurser inden for grundlæggende programmering