मेरे पास एक फ़ाइल है जिसे मैं स्क्रीन पर प्रिंट करने की कोशिश कर रहा हूं, लेकिन यह सब कुछ "0x28fe88" है, जब फ़ाइल दो सौ पंक्तियों से 13 कॉलम है।सी ++ मैं एक .txt फ़ाइल verbatim कैसे मुद्रित करूं?
#include <iostream>
#include <fstream>
#include <istream>
#include <ostream>
#include <cstdlib>
using namespace std;
int main()
{
//Opens .txt file
ifstream infile1;
infile1.open("Taylor.txt");
//Fail check
if(infile1.fail())
{
cout << "File failed to open.\n";
exit(1);
}
//Prints file to screen (not correctly)
cout << infile1;
//Closes file
infile1.close();
return 0;
}
मैं अन्यथा पूर्ण कोड पोस्ट नहीं करूंगा, लेकिन मुझे उम्मीद है कि यह फ्लाक पकड़ने के लिए पर्याप्त नहीं है।
आप उस फ़ाइल की सामग्री को प्रिंट नहीं कर रहे हैं जिसे आप ifstream ऑब्जेक्ट प्रिंट कर रहे हैं। –
'cout << infile1; * * stdout पर फ़ाइल सामग्री मुद्रित नहीं करता है। यह ऑब्जेक्ट पता प्रिंट कर रहा है। – greatwolf
मूल कोड एक स्ट्रीम ऑब्जेक्ट को स्ट्रीम में डालता है। यह काम करता है क्योंकि, सी ++ 11 से पहले, स्ट्रीम क्लास (तकनीकी रूप से, बेस क्लास 'basic_ios') में 'void *' का रूपांतरण होता है जो इंगित करता है कि स्ट्रीम एक अच्छी स्थिति में है (यदि शून्य नहीं है तो एक शून्य सूचक देता है , और अन्यथा एक गैर-शून्य सूचक); मूल रूपांतरण प्रदर्शन इस रूपांतरण ऑपरेटर का परिणाम क्या है। सी ++ 11 में रूपांतरण अब मौजूद नहीं है; इसे 'स्पष्ट ऑपरेटर बूल()' के साथ प्रतिस्थापित किया गया है, जो गैर-बूलियन संदर्भों में रहस्यमय रूपांतरणों को पेश किए बिना एक ही उद्देश्य पर कार्य करता है। –