FormatMessage und va_list*
-
hallo http://msdn.microsoft.com/library/default.asp?url=/library/en-us/debug/base/formatmessage.asp
ich würde gern Escape Sequence %0 benutzen, ich habe aber keine ahnung wie
danke
-
Direkt:
LPTSTR lpArgs[] = { TEXT("eins"), TEXT("zwei"), TEXT("drei") }; TCHAR szMessage[256]; PVOID pArgList = &lpArgs; FormatMessage(FORMAT_MESSAGE_FROM_STRING, TEXT("Bei %1 und %2 passt %3 nicht."), 0, 0, szMessage, 256, (va_list*)&pArgList); MessageBox(NULL, szMessage, NULL, MB_OK);
Innerhalb einer Funktion:
BOOL MyFormat(LPCTSTR lpFormatString, ...) { va_list vaList; TCHAR szMessage[256]; va_start(vaList, lpFormatString); FormatMessage(FORMAT_MESSAGE_FROM_STRING, lpFormatString, 0, 0, szMessage, 256, &vaList); MessageBox(NULL, szMessage, NULL, MB_OK); va_end(vaList); return(TRUE); }
[edit]
Allerdings gibt es %0 nicht, es wird bei 1 zu zählen angefangen. Dazu noch ein Zitat von der von Dir verlinkten Seite:A %1 in the format string indicates the first value in the Arguments array;
[/edit]
[ Dieser Beitrag wurde am 21.01.2003 um 14:07 Uhr von -King- editiert. ]
-
*Escape Sequence
Meaning%0
Terminates a message text line without a trailing new line character. This escape sequence can be used to build up long lines or to terminate the message itself without a trailing new line character. It is useful for prompt messages.*[ Dieser Beitrag wurde am 21.01.2003 um 14:34 Uhr von kwoTx editiert. ]
-
Ach Du Sch....
Soweit runter hab ich gar nicht mehr gelesen.Damit ist mein Beitrag dann wohl tatsächlich zu 100% nutzlos.
-
hmm, kann das jetzt mal jemand erklären? Bin ganz durcheinander.
-
danke
Original erstellt von <Ein Interessierter>:
hmm, kann das jetzt mal jemand erklären? Bin ganz durcheinander.was genau?