我想使用asctime将时间分配给字符串。使用CTime&asctime将时间分配给字符串或向量字符串
time_t rawtime;
time (&rawtime);
vector<string> TTime;
TTime.resize(10);
TTime = asctime(localtime (&rawtime));
我明白asctime正在返回一个指向字符串的指针。我需要创建自己的字符串并将其赋值为asctime的返回值,还是有更简单的方法?
我想使用asctime将时间分配给字符串。使用CTime&asctime将时间分配给字符串或向量字符串
time_t rawtime;
time (&rawtime);
vector<string> TTime;
TTime.resize(10);
TTime = asctime(localtime (&rawtime));
我明白asctime正在返回一个指向字符串的指针。我需要创建自己的字符串并将其赋值为asctime的返回值,还是有更简单的方法?
您可以直接构建一个字符串char *
:
string str = asctime(localtime (&rawtime));
这是没有意义的:
TTime = asctime(localtime (&rawtime));
您不能将单个字符串分配给一个字符串向量。你可以做的是什么:
TTime[0] = asctime(localtime (&rawtime));
看起来你需要的是一个简单的字符串,
std::string TTime(asctime(localtime(&rawtime)));
函数asctime()的返回的char * 和的std :: string可以从烧焦构建*
的std :: string时间(asctime(本地时间(& rawtime)));
或
std :: string time; time = asctime(asctimer(localtimer(& rawtime)));
这确实奏效。我不知道为什么,但我认为每个字符串只能容纳一个字和一个空格结束字符串。 – Malaken 2010-11-17 00:59:44