Используйте CString с sprintf


У меня есть некоторый код C++, где мне нужно использовать CString с sprintf. В этом коде я создаю имена файлов, которые являются CStrings, определенными 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 = " неоднозначна.

1 3

1 ответ:

Взгляните на CString::Format (игнорировать CStringT Часть - CString является производным от CStringT). Он делает то, что вы хотите, и позволяет вам переписать ваш код чисто:

double Number = 0.25; 

CString sFile;
sFile.Format(_T("TRJFPICD(%3.3f).txt"), Number);

CString SFFile;
SFFile.Format(_T("TRJFPICV(%3.3f).txt"),Number);

CString SFFFile;
SFFFile.Format(_T("TRJFPICA(%3.3f).txt"),Number);