Hey. Ich sitze nun schon seit gestern an Listing 2.51 aus Davids Buch. Erst hatte ich Probleme mit dem Win32 Projekt. Habe aber hier im Forum ne gute Hilfe gefunden.
Nur die MessageBox'en machen mir noch Probleme. Im Internet ist mir aufgefallen das vor den Strings(also Parameter 2 und 3) immer ein "L" steht. Dadurch ging es dann auch. Nur bei Listing 2.51 ist der 2te Parameter ein char. Wenn ich diesen nun als 2tes Parameter angeben genau wie im Listing bekomme ich folgenden Fehler:
|
Quellcode
|
1
2
3
4
5
|
warning C4996: 'sprintf' wurde als veraltet deklariert
d:\programme\microsoft visual studio 8\vc\include\stdio.h(345): Siehe Deklaration von 'sprintf'
Meldung: "This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details."
error C2664: 'MessageBoxW': Konvertierung des Parameters 2 von 'char [1024]' in 'LPCWSTR' nicht möglich
Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
|
Nochmal der Codeteil für die ohne Buch:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
|
char acAdapterInfo[1024];
sprintf(acAdapterInfo, "Adapter-ID: %d\n Name: %s\n Treiber: %s\n nTreiberversion: %d",
iAdapter,
pAdapters[iAdapter].Description,
pAdapters[iAdapter].Driver,
pAdapters[iAdapter].DriverVersion);
MessageBox(NULL, acAdapterInfo, L"Adapter gefunden", MB_OK|MB_ICONINFORMATION);
|