استخدام CTIME و ASCTIME لتعيين الوقت لسلسلة أو سلسلة متجه
سؤال
أرغب في استخدام 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 :: من char*
std :: string time (asctime (localtime (& rawtime))) ؛
أو
std :: string time ؛ time = asctime (asctimer (localtimer (& rawtime))) ؛
لا تنتمي إلى StackOverflow