【问题标题】:Use strings to describe function parameters使用字符串描述函数参数
【发布时间】:2011-06-22 10:51:52
【问题描述】:

我不确定我对这个问题的标题是否完全准确地描述了我正在尝试做的事情,但希望我能在这个描述中更好地解释自己。

我希望能够通过将其 dwStyle 参数作为 XML 文件中的字符串读取来配置 CEdit 控件,即:-

CreateEx(   WS_EX_CLIENTEDGE,L"EDIT",L"",WS_CHILD|WS_VISIBLE,
                m_xPosition,m_yPosition,m_width,m_height,
                m_pParent->m_hWnd,( HMENU )m_resourceID );

在这种情况下,dwStyleWS_CHILD|WS_VISIBLE

我想做的就是把这种风格作为一个字符串:

string dwStyleString = "WS_CHILD|WS_VISIBLE";

然后将此字符串用作dwStyle 参数,但显然以某种方式认为它应该被函数解释为不是字符串,而是函数参数。

这可能是不可能的,但希望有人能提供帮助,或者可能建议另一种方法。

提前感谢您的任何回复,

戴夫

【问题讨论】:

  • 感谢 sbi - 进行了彻底的搜索以确保我没有创建重复,但可能是由于我在表达问题时遇到困难,这些都没有出现。
  • 不要为它出汗。我记得我看过那些。 (我的搜索字符串是“[c++] enum string”,顺便说一句。)
  • 我认为这两个都不是骗局。 "MY_ENUM" -> MY_ENUM"MY_ENUM_1|MY_ENUM2" -> MYENUM_1|MY_ENUM_2 完全不同。

标签: c++ mfc


【解决方案1】:

没有内置的方法,你必须自己做。拳头使用 | 标记字符串作为分隔符,从子字符串中修剪空白,确定每个子字符串的 int 值(跟进 sbi 的链接,但普通的旧 if-else-if 也可以),最后将所有值与按位 OR 运算符组合。

【讨论】:

  • 得到它的工作 - 按照建议必须走 DIY 路线并创建一个地图( map )然后从 XML 文件中读取值,按照建议标记这个并进行搜索在一个while循环中。
猜你喜欢
  • 1970-01-01
  • 2019-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多