मैं निम्नलिखित कोड, Suse 10.1 पर चल रहा है/जी ++ 4.1.0, और यह फ़ाइल पर लिखने नहीं है:ofstream फ्लश नहीं है
#include <fstream>
#include <iostream>
int main(){
std::ofstream file("file.out");
file << "Hello world";
}
फ़ाइल सही तरीके से बनाया है और खोला जाता है, लेकिन खाली है। अगर मैं करने के लिए कोड बदलने के लिए:
#include <fstream>
#include <iostream>
int main(){
std::ofstream file("file.out");
file << "Hello world\n";
}
(पाठ करने के लिए एक \n
जोड़ने), यह काम करता है। मैंने भी स्ट्रीम की फ्लश करने की कोशिश की, लेकिन यह काम नहीं किया।
कोई सुझाव?
आप परिणामी फ़ाइल की जांच कैसे करते हैं? – log0
जी ++ 4.4.4 के साथ डेबियन/सिड पर प्रोग्राम अपेक्षित के रूप में काम करता है और file.out में स्ट्रिंग (न्यूलाइन के बिना) होती है। अपने कंपाइलर या ओएस को अपडेट करने का प्रयास करें - दोनों पुराने हैं। – Dummy00001
फ़ाइल कैसे खाली है या नहीं, तो आप कैसे जांच रहे हैं?परिणामस्वरूप फ़ाइल पर ऐसा करें: wc और देखें कि आउटपुट क्या है। यह 0 2 11. 0 लाइन, 2 शब्द, 11 अक्षर होना चाहिए। नई लाइन के बिना, आउटपुट "हैलो वर्ल्ड" आपके प्रॉम्प्ट में चलेगा, इसलिए आप इसे याद कर सकते हैं। –