J'ai du code C++ où j'ai besoin d'utiliser CString avec sprintf. Dans ce code, je crée des noms de fichiers CStrings définis par sprintf. Le code est ci-dessous.Utiliser CString avec sprintf
double Number;
Number = 0.25;
char buffer [50];
CString sFile;
sFile = sprintf(buffer,"TRJFPICD(%3.3f).txt",Number);
CString SFFile;
SFFile = sprintf(buffer,"TRJFPICV(%3.3f).txt",Number);
CString SFFFile;
SFFFile = sprintf(buffer,"TRJFPICA(%3.3f).txt",Number);
Les noms de fichiers souhaités sont TRJFPICD(0.25).txt, TRJFPICV(0.25).txt
et TRJFPICA(0.25).txt
. Je dois utiliser CStrings pour mon code.
L'erreur que j'obtiens est 'operator =
' est ambigu.
'' sprintf' retourne int' - pourquoi voudriez-vous attendre à affecter un '' int' à un CString'? Utilisez également '_stprintf' à la place de' sprintf' pour éviter les problèmes Unicode, ou mieux encore 'CString :: Format' à la place de toute variante' sprintf'. – ildjarn
Au lieu de 'sprintf', vous pouvez utiliser la méthode' Format' sur 'CString' lui-même. – jxh
Utilisez ce lien MSDN pour trouver la façon exacte d'utiliser Sprint pour copier des données dans l'objet CString: http://msdn.microsoft.com/en-us/library/aa300569(v=vs.60).aspx – roymustang86