हटाएं मैं एक छोटा सा फ़ंक्शन बनाना चाहता हूं, जो कंसोल में प्रतिशत में वर्तमान स्थिति दिखाना चाहिए। फ़ंक्शन को केवल लाइन में वर्तमान मान दिखाना चाहिए। तो मुझे अंतिम आउटपुट को हटाना होगा। क्या यह संभव है? सबसे अच्छा मामला कुछ एएनएसआई सी सामान होगा, कार्यक्रम लिनक्स और खिड़कियों पर काम करना चाहिए।सी प्रिंटफ आउटपुट
मुझे "\033[J"
जैसे कुछ भागने के दृश्य मिल गए हैं, लेकिन यह काम नहीं कर रहा है।
संपादित
खैर मैं इसके साथ की कोशिश की:
void PrintProcessBar(int i, int n) {
float ratio = i/(float)n;
printf("%.3d\b\b", (int)(ratio * 100));
fflush(stdout);
}
लेकिन यह सिर्फ शून्य के बहुत सारे ... क्या गलत हो गया था मुद्रित? अगर मैं तीन \b
का उपयोग करता हूं तो मुझे कुछ भी नहीं मिलता है।
समाधान
float ratio = (i/(float)n) * 100;
printf("\b\b\b\b");
fflush(stdout);
printf("%.3d%c", (int)ratio, 37);
fflush(stdout);
i = वर्तमान स्थिति। एन = अधिकतम रन।
मैं 4 \b
का उपयोग करता हूं क्योंकि, फ़ंक्शन की पहली कॉल पर यह 4 रिक्त स्थान निकाल देगा।
ग्रीटज़।
उत्तर प्रश्नों से अलग रखा जाना चाहिए। यदि आप अपने प्रश्न का उत्तर देना चाहते हैं, तो आप इस पृष्ठ के नीचे [अपने प्रश्न का उत्तर दें] बटन पर क्लिक करके ऐसा कर सकते हैं। – brandaemon