संपादित करें:: बस एक ही मूल्य मैं यह सोचते कर रहा हूँ कि आप धारा की सारी सामग्री को कॉपी करना चाहते हैं, और नहीं पूरी बात है, लेकिन खाली स्थान के त्यागें। यदि आप केवल एक शब्द पढ़ना चाहते हैं, तो इसके बजाय 1800 का उत्तर देखें।
स्पष्ट समाधान थोड़ी देर के पाश एक समय में एक शब्द को कॉपी है, लेकिन आप क्या कर सकते हैं यह सरल, एक अच्छा oneliner के रूप में:
#include <iostream>
#include <iterator>
...
std::istream i;
std::copy(std::istream_iterator<char>(i), std::istream_iterator<char>(), std::ostream_iterator<char>(std::cout));
stream_iterators का उपयोग ऑपरेटर < < और >> आंतरिक रूप से, जिसका अर्थ है कि वे व्हाइटस्पेस को अनदेखा करेंगे। यदि आप एक सटीक प्रतिलिपि चाहते हैं, तो आप इसके बजाय std :: istreambuf_iterator और std :: ostreambuf_iterator का उपयोग कर सकते हैं। वे अंतर्निहित (अनफॉर्मेटेड) स्ट्रीम बफर पर काम करते हैं ताकि वे व्हाइटस्पेस को न छोड़ें या न्यूलाइन या कुछ भी परिवर्तित न करें।
तुम भी उपयोग कर सकते हैं:
i >> std::noskipws;
गायब से खाली स्थान के रोकने के लिए। ध्यान दें, हालांकि, यदि आपकी स्ट्रीम एक बाइनरी फ़ाइल है, तो कुछ अन्य वर्ण >>
और <<
ऑपरेटरों द्वारा clobbered हो सकता है।
कृपया यह स्पष्ट यह क्या है आप क्या करने की कोशिश कर रहे हैं। –
मैं पूरी स्ट्रिंग को मुद्रित करना चाहता हूं – kal