मुझे वर्तमान समय "एचएच: एमएम: एसएस" -फॉर्मैट में एक वर्ण सरणी (स्ट्रिंग) में प्राप्त करने की आवश्यकता है ताकि मैं बाद में परिणाम आउटपुट कर सकूं बस एक printf("%s", timeString);
एचएच के साथ स्ट्रिंग में समय: एमएम: एसएस प्रारूप (सी प्रोग्रामिंग)
साथ मैं बहुत btw timeval
और time_t
प्रकार पर उलझन में हूँ, इसलिए किसी भी स्पष्टीकरण भयानक होगा :)
संपादित करें: तो मैं strftime आदि के साथ की कोशिश की, और यह थोड़े काम किया। यहाँ मेरी कोड है:
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);
लेकिन उत्पादन यह है: "13: 49:? 53a ?? J`aS"
"ए ?? जे`एएस?" अंत में क्या चल रहा है?
आह, ज़ाहिर है। धन्यवाद दोस्त! – o01
मैं आमतौर पर निराशावादी दृष्टिकोण लेता हूं और बफर आकारों को आवंटित करता हूं। उदाहरण के लिए, मैं 'टाइमस्ट्रिंग []' 20 या तो वर्ण होने की घोषणा करता हूं। मेमोरी सस्ता है, और हम केवल कुछ अतिरिक्त बाइट्स ही बात कर रहे हैं। और जब आप बाद में प्रारूप स्ट्रिंग को बदलने का निर्णय लेते हैं तो यह आपको बचाता है लेकिन बफर की लंबाई को अपडेट करना भूल जाता है। संकलक को सरणी के आकार को पास करने के लिए 'sizeof()' के उपयोग के लिए –
+1। –