cout
एक बफर स्ट्रीम है। इसका मतलब है कि डेटा बफर को लिखा जाएगा और स्ट्रीम फ़्लश होने पर मुद्रित किया जाएगा, प्रोग्राम समाप्त हो जाएगा या जब बफर पूरी तरह से भर जाएगा।तुरंत आउटपुट क्यों आउटपुट है?
मैंने यह जांचने के लिए एक छोटा सा कार्यक्रम बनाया कि यह कैसे काम करता है, लेकिन मुझे समझ में नहीं आता कि उपर्युक्त शर्तों में से किसी एक से पहले यह प्रिंट क्यों करता है।
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
cout << "Test";
float secs = 5;
clock_t delay = secs * CLOCKS_PER_SEC;
clock_t start = clock();
while (clock() - start < delay) { }
return 0;
}
रन करते समय, "परीक्षण" लूप शुरू होने से पहले आउटपुट होता है।
प्रोग्राम आउट होने तक मेरा आउटपुट क्यों बफर नहीं किया जाता है?
'std :: ios :: sync_with_stdio (false) का प्रयास करें;' प्रिंट करने से पहले। – scohe001
std :: ios :: sync_with_stdio (झूठा); महान काम करता है, धन्यवाद! पर क्यों? –
नीचे मेरा जवाब देखें – scohe001