استخدام CTIME و ASCTIME لتعيين الوقت لسلسلة أو سلسلة متجه

StackOverflow https://stackoverflow.com/questions/4200504

  •  25-09-2019
  •  | 
  •  

سؤال

أرغب في استخدام 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))) ؛

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top