我想使用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