日期月份部分我即filecreation日期和系統日期都在INT格式閱讀在C++
"20120304","20120404" which is something like YYYYMMDD.
兩個日期我只想把MM的部分這兩個日期的這些兩個日期從一個函數返回爲整數。
請提出一些實例
由於
日期月份部分我即filecreation日期和系統日期都在INT格式閱讀在C++
"20120304","20120404" which is something like YYYYMMDD.
兩個日期我只想把MM的部分這兩個日期的這些兩個日期從一個函數返回爲整數。
請提出一些實例
由於
雖然我更喜歡@ keety的回答,但還有其他方法。 ü可以使用字符串流:
爲如:
#include <sstream>
int i = 5;
std::string s;
std::stringstream out;
out << i;
s = out.str();
後你這麼有你的字符串作爲一個字符串varaible YYYYMMDD
。 substr(4,2)
將是你的月份。 您可以稍後使用strtol
轉換回整數。
:我得到的東西,並與其他假設我有ÿ糊塗了,d,m作爲三個字符串流,並將所有這些連接到另一個字符串作爲「date = y + m + d;」,然後將其轉換爲整數作爲返回atoi(date.c_str()); 那麼我怎麼現在從它substr現在已經是一個整數 – gandhigcpp 2012-04-05 05:43:55
和代碼看起來像int mm = date.substr(4,2);其中日期返回爲一個整數。 – gandhigcpp 2012-04-05 05:49:07
如果它們總是在格式YYYYMMDD
,則取在[4]長度2.
:你可以告訴代碼plsss的形式... – gandhigcpp 2012-04-05 05:20:35
他們的格式是YYYYMMDD然而這是一個整數而不是字符串 – gandhigcpp 2012-04-05 05:22:35
@gandhigcpp:然後忽略我的答案並使用keety's。我會在幾個小時內刪除我的。 – wallyk 2012-04-05 05:29:12
子字符串,因爲它是int
類型使用int mm=(yyyymmdd/100)%100
@keely:它在做什麼「int mm =(yyyymmdd/100) %100「 – gandhigcpp 2012-04-05 05:23:50
@gandhigcpp'yyyymmdd/100'會提取yyyymm,然後通過mod運算符'yyyymm%100'繼續提取mm部分 – keety 2012-04-05 05:26:38
@keealy:正如我討論的那樣,是這樣的 date = y + m + d; //這裏是一個字符串 return atoi(date.c_str()); //將整數返回給函數 – gandhigcpp 2012-04-05 05:27:20
實際上yyyy是y,mm是m並且dd是d,並且它們被連接到一個變量日期,如date = y + m + d; – gandhigcpp 2012-04-05 05:31:29
您的聲明表示形式爲整數對您的聲明沒有意義,即使用+簡單地將年,月和日值連接起來以產生最終值。你確定你的日期沒有被表示爲8個字符的字符串嗎? – 2012-04-05 05:35:45
修改您的問題以顯示您正在討論的是什麼類型:是字符串還是整數。也請說出你的嘗試。另請閱讀[如何提問](http://stackoverflow.com/questions/how-to-ask) – 2012-04-05 06:49:34