मेरे पास C++ में कोड का निम्न भाग है।एक बाइनरी फ़ाइल नहीं लिख सकता
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
ofstream output("Sample.txt", ios::out | ios::binary);
for(int i = 0; i < 10; i++)
{
output<<arr[i];
}
अब Sample.txt इस तरह है:
12345678910
नहीं है "Sample.txt" बाइनरी में होना चाहिए? बाइनरी मोड में स्ट्रीम खोलने पर यह सब कुछ बाइनरी में क्यों नहीं बदलता है। मुझे क्या करना चाहिए, मुझे सरणी में प्रत्येक तत्व की बाइनरी की आवश्यकता है और फिर इसे फ़ाइल में प्रिंट करें।
"बाइनरी" में आपका क्या मतलब है? – GManNickG
सरणी में संबंधित पूर्णांक के लिए बाइनरी मान, इसलिए अगर सरणी में पूर्णांक 5 है, तो उसे 5 – Jay
के बजाय 101 प्रिंट करना चाहिए, ठीक है, आपको कच्चे डेटा को आउटपुट करने के लिए 'लिखें' फ़ंक्शन का उपयोग करना होगा। लेकिन इसके साथ, यह डिस्क पर प्रिंट 101 (अच्छी तरह से, शायद 0000000000000101 की तरह) करता है, लेकिन जो भी आप फ़ाइल देखने के लिए उपयोग कर रहे हैं वह वास्तव में कच्चे और शून्य को प्रदर्शित नहीं करेगा। टेक्स्ट-फ़ाइल दर्शक इसे डीकोड करने का प्रयास करेंगे (उदाहरण के लिए, ASCII के साथ), यही कारण है कि जब आप एक टेक्स्ट एडिटर में बाइनरी फाइलें खोलते हैं तो आपको गलेदार बकवास दिखाई देता है। आप 1 और 0 के कभी नहीं देखते हैं। शायद एक हेक्स-संपादक, जो ऐसा करता है, अधिक उपयुक्त होगा। – GManNickG