将CString与sprintf一起使用

Gra*_* Iv 3 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);
Run Code Online (Sandbox Code Playgroud)

所需的文件名是TRJFPICD(0.25).txt, TRJFPICV(0.25).txt,和TRJFPICA(0.25).txt.我必须使用CStrings代码.

我得到的错误是' operator ='含糊不清.

Nik*_*lis 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);
Run Code Online (Sandbox Code Playgroud)

  • @Grady:因为被迫单独使用MFC,你会有同情心. (2认同)