यहां वर्तमान में मेरे पास अभी तक है:एएससीआईआई में एक पाठ फ़ाइल में एक char के हेक्स मान कैसे लिखते हैं?
void WriteHexToFile(std::ofstream &stream, void *ptr, int buflen, char *prefix)
{
unsigned char *buf = (unsigned char*)ptr;
for(int i = 0; i < buflen; ++i) {
if(i % 16 == 0) {
stream << prefix;
}
stream << buf[i] << ' ';
}
}
मैंने stream.hex, stream.setf (std :: ios :: हेक्स) करने के साथ-साथ Google को थोड़ा सा खोज करने का प्रयास किया है। मैंने यह भी कोशिश की है:
stream << stream.hex << (int)buf[i] << ' ';
लेकिन ऐसा लगता है कि यह भी काम नहीं करता है।
यहां कुछ आउटपुट का एक उदाहरण दिया गया है जो वर्तमान में उत्पादित करता है:
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í Í
मैं आउटपुट को निम्न जैसा दिखाना चाहता हूं:
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
FF EE DD CC BB AA 99 88 77 66 55 44 33 22 11 00
Btw: आप चाहिए यह सुनिश्चित करने के लिए कि आप इन बफर को संशोधित नहीं करेंगे, कॉन्स्ट शून्य * पीआरटी और कॉन्स char * उपसर्ग का उपयोग करें। – mmmmmmmm
@ रिस्टवेन्स: ठीक है! – xian
यही कारण है कि मुझे ढेर अतिप्रवाह पसंद है। इन मजेदार छोटी समस्याएं समय-समय पर आती हैं और कोई कोड के स्निपेट में गिरता है और इसका हल हो जाता है ... – MikeJ