0

我想使用 asctime 将时间分配给字符串。

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

我知道 asctime 正在返回一个指向字符串的指针。我是否必须创建自己的字符串并为其分配 asctime 的返回值,还是有更简单的方法?

4

3 回答 3

1

您可以直接从 a 构造一个字符串char *

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

这没有意义:

TTime = asctime(localtime ( &rawtime ));

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

TTime[0] = asctime(localtime ( &rawtime ));
于 2010-11-17T00:49:11.943 回答
0

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

std::string TTime(asctime(localtime(&rawtime)));
于 2010-11-17T00:47:56.710 回答
0

函数 asctime() 返回 char* 并且 std::string 可以从 char* 构造

std::string time(asctime(localtime(&rawtime)));

或者

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

于 2010-11-17T01:07:51.863 回答