我想使用 asctime 将时间分配给字符串。
time_t rawtime;
time ( &rawtime );
vector<string> TTime;
TTime.resize(10);
TTime = asctime(localtime ( &rawtime ));
我知道 asctime 正在返回一个指向字符串的指针。我是否必须创建自己的字符串并为其分配 asctime 的返回值,还是有更简单的方法?
您可以直接从 a 构造一个字符串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 可以从 char* 构造
std::string time(asctime(localtime(&rawtime)));
或者
std::string 时间;时间 = asctime(asctimer(localtimer(&rawtime)));