У меня есть код на C++, где мне нужно использовать CString со sprintf. В этом коде я создаю имена файлов CStrings, которые определены sprintf. Код ниже.Использование CString с 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);
нужные имена файлов TRJFPICD(0.25).txt, TRJFPICV(0.25).txt
и TRJFPICA(0.25).txt
. Мне нужно использовать CStrings для моего кода.
Ошибка, которую я получаю, является «operator =
» является неоднозначной.
'sprintf' возвращает' int' - почему вы ожидали бы назначить 'int' в' CString'? Кроме того, используйте '_stprintf' вместо' sprintf', чтобы избежать проблем с юникодом или лучше использовать 'CString :: Format' вместо любого варианта' sprintf'. – ildjarn
Вместо 'sprintf' вы можете использовать метод' Format' в '' CString''. – jxh
Используйте эту ссылку msdn для определения точного способа использования спринта для копирования данных в объект CString: http://msdn.microsoft.com/en-us/library/aa300569(v=vs.60).aspx – roymustang86