2010-11-17 32 views
0

我想使用asctime将时间分配给字符串。使用CTime&asctime将时间分配给字符串或向量字符串

time_t rawtime; 
time (&rawtime); 
vector<string> TTime; 
TTime.resize(10); 
TTime = asctime(localtime (&rawtime)); 

我明白asctime正在返回一个指向字符串的指针。我需要创建自己的字符串并将其赋值为asctime的返回值,还是有更简单的方法?

回答

1

您可以直接构建一个字符串char *

string str = asctime(localtime (&rawtime)); 

这是没有意义的:

TTime = asctime(localtime (&rawtime)); 

您不能将单个字符串分配给一个字符串向量。你可以做的是什么:

TTime[0] = asctime(localtime (&rawtime)); 
0

看起来你需要的是一个简单的字符串,

std::string TTime(asctime(localtime(&rawtime))); 
+0

这确实奏效。我不知道为什么,但我认为每个字符串只能容纳一个字和一个空格结束字符串。 – Malaken 2010-11-17 00:59:44

0

函数asctime()的返回的char * 和的std :: string可以从烧焦构建*

的std :: string时间(asctime(本地时间(& rawtime)));

std :: string time; time = asctime(asctimer(localtimer(& rawtime)));