Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » LPCWSTR

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
08.03.2007, 17:19 Uhr
tava



bei dem Code:


C++:

char *drive = "\\\\.\\PhysicalDrive";
char *drivename = (char *)malloc(sizeof(char) * (strlen(drive) + 3));

sprintf_s(drivename, 23, "%s%d", drive, drivenumber);

HANDLE handle = CreateFile(drivename, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);




erhalte ich irgendwie immer diese Fehlermeldung:

Fehler 1: error C2664: 'CreateFileW': Konvertierung des Parameters 1 von 'char *' in 'LPCWSTR'

Ein Typcast, etc bringt leider auch nichts. Hat da jemand eine Idee was ich falsch mache?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.03.2007, 17:32 Uhr
BoBtheREapER
kein job für nen BoB


in deinem Code benutzt du CreateFile und in deinem Kommentar steht CreateFileW. Was meinst du? Weil die W Version ist die für wchar_t und die ohne müsste eigentlich mit char klarkommen.
--
"Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher." - Albert Einstein
www.blue-xenon.de.vu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.03.2007, 17:39 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Ob CreateFile nach CreateFileA oder CreateFileW aufgelöst wird entscheidet sich ob Unicode verwendet wird oder nicht.

@Tava

Da du offensichtlich eine Unicode Anwendung schreibst musst du statt einem char einen wchar benutzen.
Wenn du gar keine Unicode Awendung willst solltest du das in den Projekteinstellungen umstellen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.03.2007, 17:46 Uhr
tava



klick, ich hab das A bei createfileA vergessen

danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.03.2007, 17:50 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Nein, hab ich doch erklärt.
Du musst einfach nur entweder wchar benutzen oder Unicode ausstellen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
08.03.2007, 18:35 Uhr
tava



mit dem wchar_t will das irgendwie nicht so recht, hab das Projekt jetzt auf nicht unicode eingestellt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
08.03.2007, 21:15 Uhr
0xdeadbeef
Gott
(Operator)


Im WinAPI benutzt man da typischerweise TCHAR*, das wird dann je nach Status des UNICODE-Makros auf char oder wchar_t aufgelöst. String-Konstanten schreibt man dann als _T("foo"), was den Kram je nach yaddayadda in "foo" oder L"foo" umsetzt.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: