日期月份部分我即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