0

编辑:实际上,当我们这样做时,我也需要为 a 做同样的事情double- 我在 a 中间有一些 NNNDD const char*,其中 N 是整个部分,D 是小数(所以在 123.45 中会显示为const char*12345)。我知道我将有多少个整数,我知道有多少个小数,所以这只是从它们中取出一个分数的问题。

const char*在中间的某个地方有一个格式为 HHMMSSMMM(小时、分钟、秒、毫秒)的时间序列。我想从中创建一个ptime(我知道序列从哪里开始,所以我有一个const char*开始)。有没有一种好的、有效的方法来做到这一点?现在我正在提取每个时间单位值,将它们存储在局部变量中,并使用默认值和 a of ... 调用ptime构造函数,但感觉有点笨拙,迂回。我不应该只传递一个时间字符串而不用担心日期吗?boost::gregorian::date()time_durationhours(hh) + minutes(mm) + seconds(ss) + milliseconds(mmm)

4

1 回答 1

0

For the doubles, insert a . and then read it into a double.

 const char * pDoubleString = ...;
 const long DoubleStringLength = ...;
 const long DoubleWholeCharCount = ...;

 std::string DoubleAsString = std::string(pDoubleString, DoubleStringLength);
 DoubleAsString.Insert(DoubleWholeCharCount, ".");
 double DoubleValue = std::atof(DoubleAsString.c_str());
于 2014-07-02T18:15:42.100 回答