【发布时间】:2015-01-24 13:39:52
【问题描述】:
我完全不知道该怎么做;我有一点数据(例如f24.57e62.74d41.0)。我想做的是3个功能:
- 我取 f (=24.57) 的值并返回
- 我取 e (=62.74) 的值并返回
- 我取 d (=41.0) 的值并返回
我不知道该怎么做。我尝试使用 boost::split 但如果我用 f 拆分,我会得到24.57e62.74d41.0...
事实上,f、e 和 d 每次都会在这里处理任何情况。那么,您认为我可以通过拆分(或其他)获得 f、e 和 d 的位置,然后从那里获得值吗?
我不知道这是否可以理解。所以分两点:
- 我将收到一个带有 f、e 和 d 的值,它位于浮点值旁边。
- 我想从中获取浮点值。 提前感谢您。
编辑:代码:
std::string m_specif = "f24.57e62.74d41.0";
std::vector<std::string> fields;
boost::split(fields, m_specif, boost::is_any_of("f")); // Will get 24.57e62.74d41.0 at fields[1]
std::cout << fields[1]
【问题讨论】:
-
我试图在 f 的右侧捕获 te 值(我得到 24.57e62.74d41.0)。代码是:
std::string m_specif = f24.57e62.74d41.0 std::vector<std::string> fields; boost::split(fields, m_specif, boost::is_any_of("f")); // Will get 24.57e62.74d41.0 at fields[1] std::cout << fields[1]代码在问题帖中,这里不可读。 -
Os如果你把它改成“fed”而不是“f”,是不是不行?