将CString与sprintf一起使用

时间:2013-02-19 22:05:32

标签: c++ printf cstring

我有一些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).txtTRJFPICA(0.25).txt。我必须使用CStrings作为我的代码。

我得到的错误是“operator =”含糊不清。

1 个答案:

答案 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);