我有一些C ++代码,我需要在sprintf中使用CString。在这段代码中,我创建的文件名是由sprintf定义的CStrings。代码如下。
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 =
”含糊不清。
答案 0 :(得分:6)
查看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);