【问题标题】:Create string formatted in C (MFC)创建用 C (MFC) 格式化的字符串
【发布时间】:2012-08-15 13:36:25
【问题描述】:

如何在 VC++ (Visual Studio 2010) 中创建格式化字符串?

我可以这样创作:

CString str;
str.Format("%d bla %d", 10, 20);

但我想要类似的东西:

CString str = MACRO_OR_FUNCTION("%d bla %d", 10, 20);

我知道怎么实现,但是如果是MFC实现的话我更喜欢用。

我的问题是:这是 MFC 中的宏或函数还是一些stand lib?例如,如果在 MFC 中有它,我将不会实现我的版本。我会更喜欢使用它。

【问题讨论】:

  • 为什么?你只是更喜欢这种风格吗?
  • 是的。我需要在我的程序中创建很多这样的格式化字符串。
  • 写你的MACRO_OR_FUNCTION,接受与CString::Format相同的参数并返回CString。您可以使用CString::FormatV 来完成主要工作。 CString::FormatV documentation中也有一个例子。
  • 我的问题是:在 MFC 或一些stand lib中有这个宏或函数吗?例如,如果在 MFC 中有它,我将不会实现我的版本。我会更喜欢使用它。

标签: c++ visual-studio-2010 mfc


【解决方案1】:

你需要声明一个函数。

CString fn_s_Format( LPCTSTR pctszFormat, ... )
{
    CString s ;

    va_list argList;
    va_start( argList, pctszFormat );
    s.FormatV( pctszFormat, argList );
    va_end( argList );

    return s ;
}

【讨论】:

    猜你喜欢
    • 2021-05-09
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-18
    • 2014-11-02
    相关资源
    最近更新 更多