Şu anki zamanı "HH: MM: SS" biçiminde bir karakter dizisine (dize) almam gerekiyor, böylece sonucu daha sonra verebiliyorum sadece printf("%s", timeString);
HH: AA: SS biçiminde dize ile zamana dönüş
ile btw timeval
ve time_t
türlerinde oldukça karıştı, bu nedenle herhangi bir açıklama harika olurdu :)
DÜZENLEME: yüzden strftime vb ile çalıştı ve bu tür çalıştı. İşte benim kodum:
time_t current_time;
struct tm * time_info;
char timeString[8];
time(¤t_time);
time_info = localtime(¤t_time);
strftime(timeString, 8, "%H:%M:%S", time_info);
puts(timeString);
Ancak çıktı şudur: "13: 49: 53a ?? J`s?"
Sonunda "a ?? J`aS?" ile neler oluyor?
Ah, tabi ki. Tesekkurler dostum! – o01
Genellikle kötümser yaklaşımı ve aşırı ayırma arabellek boyutlarını alırım. Örneğin, timeString [] 'ı 20 veya daha fazla karakter olarak bildiririm. Hafıza ucuz ve sadece birkaç ekstra bayttan bahsediyoruz. Daha sonra format dizisini değiştirmeye karar verdiğinizde ancak arabellek uzunluğunu güncellemeyi unuttuğunuzda sizi kurtarır. Derleyicinin dizinin boyutunu geçmesine izin vermek için, sizeof() 'işlevini kullanmak üzere –
+1. –