मैं एक प्रोग्राम बना रहा हूं जो शुरू होने पर, एक पूर्वनिर्धारित स्ट्रिंग को फ़ाइल में लिख देगा। फ़ाइल आकार में लगभग 5 एमबी है इसलिए हेक्स में 5 एमबी डेटा के साथ स्ट्रिंग भरना एक बड़ा चर है। जब मैं इसे संकलित करने का प्रयास करता हूं, तो मुझे एक त्रुटि मिलती है कि स्ट्रिंग बहुत बड़ी है। क्या 5 एमबी वास्तव में बड़ा है? मैंने स्ट्रिंग को 4 खंडों में विभाजित किया लेकिन प्रत्येक खंड अभी भी बहुत बड़ा है। :/इस स्थिति को ठीक करने के लिए मैं जल्दी और आसानी से क्या कर सकता हूं।सी ++ स्ट्रिंग बहुत बड़ा, पिछला वर्ण छेड़छाड़
नोट: मैं अपने आप को अभी शुरुआत प्रोग्रामर पर विचार करें ताकि मेरे सिर पर बहुत दूर जाना नहीं की कोशिश: पी
कैसे मैं एक फाइल करने के लिए स्ट्रिंग लिखने का उदाहरण:
string file_hex("huge_a**_string_goes_here_or_in_separate_cpp");
ofstream file_out;
file_out.open("tools\\c.exe", ios::binary | ios::trunc);
string res;
res.reserve(file_hex.size()/2);
for (int i = 0; i < file_hex.size(); i += 2)
{
std::istringstream iss(file_hex.substr(i, 2));
int temp;
iss >> std::hex >> temp;
res += static_cast<char>(temp);
}
file_out << res;
file_out.close();
आप कुछ उदाहरण कोड (स्पष्ट रूप से नहीं पूरी स्ट्रिंग) दे सकते हैं? – chris
240cfa010000c7442408acb2820089742404c7042406000000e86c5ef8ff89d883c4105b5e5fc38d7600c744240ce7010000c7442408acb2820089742404c7042406000000e8405ef8ffc744240ce8010000c7442408acb2820089742404c7042409000000e8205ef8ff8b1f85db7422c744240cf8010000c7442408acb2820089742404c704240a ... स्ट्रिंग के – mrg95
हिस्सा नहीं है, तो आप कोड स्ट्रिंग का उपयोग करता है का हिस्सा प्रदान कर सकता है? –