क्या "कोउट" के साथ मुद्रित पाठ को बदलना संभव है? मैं इसे प्रत्येक प्रतिशत के लिए एक नई लाइन के बिना कुछ का वर्तमान प्रतिशत दिखाना चाहता हूं। क्या यह संभव है?सी ++ "आउट" से आउटपुट बदलें
उत्तर
यह मेरे लिए काम करता है:
std::cout << "1111";
std::cout << "\r";
std::cout << "2222";
\r
एक गाड़ी वापसी प्रतीक है। "कर्सर" को लाइन की शुरुआत में वापस रखता है।
वैकल्पिक रूप से आप \b
चरित्र का उपयोग कर सकते हैं। यह बैकस्पेस है। मुद्रित होने पर यह एक चरित्र वापस चला जाता है।
आपके पास वास्तव में आवश्यकतानुसार 3 '\ r' (कैरिज रिटर्न) अधिक है (जब तक आप' \ b', बैकस्पेस नहीं थे) – Hasturkun
धन्यवाद, मैंने पहले से ही इसे संपादित किया है। – detunized
उचित अंत-रेखा का प्रतीक "\ n" है, न कि "\ r"। मानक लाइब्रेरी सीआर-एलएफ, एलएफ-सीआर, या जो भी आपके मंच के लिए उपयुक्त है, के रूप में "\ n" की व्याख्या करेगी। Std :: endl भी है, जो अतिरिक्त रूप से बफर की फ्लशिंग को मजबूर करता है। –
आम तौर पर यह संभव नहीं है। (कल्पना करें कि cout
से आउटपुट सीधे प्रिंटर पर खिलाया जाता है। आप इसे अंतिम पंक्ति "अनप्रिंट" करने के लिए कैसे निर्देश देंगे?) cout
आउटपुट स्ट्रीम है, यह इस बात के बारे में कोई धारणा नहीं देता है कि आउटपुट किस माध्यम को भेजा जाता है, या इसके बारे में उस माध्यम की क्षमताओं। विशिष्ट चाल कुछ मामलों में आप जो चाहते हैं उसे प्राप्त कर सकते हैं, लेकिन दूसरों में बहुत ही असफल हो जाएंगे। यदि आप सादा पाठ के सीधे आउटपुट से अधिक गतिशील चाहते हैं, तो शायद cout
उपयोग करने का सही टूल नहीं है।
एक बात जो आपको निश्चित रूप से नहीं मिलती है वह टर्मिनल लाइन की लंबाई है। चूंकि इसे बदला जा सकता है, आप बहुत लंबी लाइनों का उपयोग कर सकते हैं, जो (\ r 'का उपयोग करके) प्रत्येक अद्यतन को नई लाइनों को प्रिंट करने का कारण बनेंगे। यदि आप विशिष्ट प्लेटफ़ॉर्म का उपयोग करना चाहते हैं तो टर्मिनल आकार प्राप्त करने के लिए प्लेटफॉर्म-विशिष्ट फ़ंक्शंस का उपयोग करें (ध्यान दें कि आप किसी भी टर्मिनल से जुड़े नहीं हो सकते हैं, उदाहरण के लिए फ़ाइल पर रीडायरेक्ट किया गया है)।
कोउट को कंसोल का सार तत्व नहीं माना जाता है, हालांकि अधिकांश टर्मिनल खुशी से कैरिज रिटर्न कैरेक्टर की व्याख्या करेंगे। – lijie
तब कंसोल के लिए क्या है? – nebkat
आपको अपने प्रश्न को स्पष्ट करने की आवश्यकता है, यह स्पष्ट नहीं है कि आप क्या हासिल करने की कोशिश कर रहे हैं और क्या "परिवर्तन" का अर्थ है। –