我使用以下代码存储时间,但我想知道是否可以将此内容存储在字符串而不是char中。或者可能有一种方法可以将时间存储在字符串中。
ofstream read_file;
read_file.open("time.txt");// file name
time_t rawtime;
struct tm * timeinfo;
char currenttime [80];
time (&rawtime);
timeinfo = localtime (&rawtime);
strftime (currenttime,80," %T",timeinfo);
cout << " \n\n\n\n";
cout << currenttime; // time store section
read_file << currenttime;
read_file.close();
答案 0 :(得分:0)
你做得对,而且,基本上,你想做的事情,就像我所理解的那样,是把时间留在std::string
而不是char currenttime [80]
。我会建议以下事项:
time_t
作为参数的函数,并返回std::string
struct tm* timeinfo
复制到strftime
,并添加return currenttime ;
const std::string filetime = time2string( rawtime );
请注意,当您致电char[]
std::string
转换为return currenttime ;
请注意,下面的建议是使代码更好,可重用。您始终可以在strftime
之后添加一行:const std::string ftime( currenttime ) ;
,然后开始使用ftime
代替currenttime
。那也行。
答案 1 :(得分:0)
这对我有用:
string timeToString()
{
time_t rawtime;
struct tm * timeinfo;
char currenttime [80];
time (&rawtime);
timeinfo = localtime (&rawtime);
strftime (currenttime,80," %T",timeinfo);
return currenttime;
}