Il seguente codice genera avviso C6284 quando compilato con /analyze
su MSVC 2008: oggetto passato come parametro '% s' quando la stringa è richiesta nella chiamata alla funzione.Come prevenire C6284 quando si utilizza CString :: Format?
CString strTmp, str;
str = L"aaa.txt"
strTmp.Format (L"File: %s", str);
Sto cercando una bella soluzione per questo che non richiederebbe static_cast
Mi sbaglio o la soluzione corretta è usare 'str.GetBuffer()'? – sorin
Puoi utilizzare entrambi per la tua situazione, ma hanno significati diversi per il lettore. 'GetBuffer()' restituisce un buffer di stringhe che consente la modifica diretta (non 'const') dell'oggetto' CString' mentre 'GetString()' restituisce un buffer 'const' per l'accesso in sola lettura. –