[英]boost::posix_time::ptime from const char* “substring”
編輯 :實際上,當我們在執行此操作時,我還需要對double
進行相同的操作-我在const char*
中間有NNNDD,其中N是整個部分,D是小數(因此在123.45中將顯示為12345的const char*
)。 我知道我將擁有多少個整數,我知道有多少個小數,因此只需要從其中取一小部分即可。
我在中間的某個地方有一個const char*
,它的格式為HHMMSSMMM(小時,分鍾,秒,毫秒)。 我想用它創建一個ptime
(我知道序列從哪里開始,所以我以const char*
作為開頭)。 有沒有一個好的,有效的方法來做到這一點? 現在,我正在提取每個時間單位值,將它們存儲在局部變量中,並使用默認的boost::gregorian::date()
和time_duration
hours(hh) + minutes(mm) + seconds(ss) + milliseconds(mmm)
調用ptime
構造函數hours(hh) + minutes(mm) + seconds(ss) + milliseconds(mmm)
...但感覺有點笨拙,回旋處。 我不應該只傳遞時間字符串而不必擔心日期嗎?
對於雙打,插入。 然后將其閱讀成雙。
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());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.