如何在 CString::Format 中重复一个字符

Nik*_*ika 1 c++ mfc repeat format-specifiers

我需要在 CString::Format 中重复一个字符。printf 中类似的东西:

printf("%.*s",10, _T("-"));

result: ----------
Run Code Online (Sandbox Code Playgroud)

如何在 CString::Format 中实现这一点?

sOutput.Format(_T("%.*s"),10,_T("-")); //doesn't work
Run Code Online (Sandbox Code Playgroud)

acr*_*075 6

只需使用适当的 CString 构造函数即可完成此操作。

CString sOutput(_T('-'), 10);
Run Code Online (Sandbox Code Playgroud)

如果你必须将它作为Format某个较大字符串的一部分,那么它是相同的

CString sOutput;
sOutput.Format(L"Hello %s", CString(_T('-'), 10).GetString());
Run Code Online (Sandbox Code Playgroud)