我有一些需要使用CString和sprintf的C++代码。在这个代码中,我正在创建由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 =
”模棱两可。
sprintf
返回int
- 你为什么期望将int
赋值给CString
?此外,使用_stprintf
代替sprintf
可以避免 Unicode 问题,或者更好的方法是使用CString::Format
而不是任何sprintf
变体。 - ildjarnCString
自身的Format
方法,而不是sprintf
。 - jxh