मुझे 65000 वर्णों तक सी # में कंसोल से वेरीरी लंबी लाइन लोड करने की आवश्यकता है। Console.ReadLine ही 254 वर्ण (भागने दृश्यों के लिए +2) की एक सीमा होती है, लेकिन मैं इस का उपयोग कर सकते हैं:सी # में कंसोल से बहुत लंबे इनपुट को कैसे पढ़ा जाए?
static string ReadLine()
{
Stream inputStream = Console.OpenStandardInput(READLINE_BUFFER_SIZE);
byte[] bytes = new byte[READLINE_BUFFER_SIZE];
int outputLength = inputStream.Read(bytes, 0, READLINE_BUFFER_SIZE);
Console.WriteLine(outputLength);
char[] chars = Encoding.UTF7.GetChars(bytes, 0, outputLength);
return new string(chars);
}
..., उस सीमा से उबरने के लिए अप करने के लिए 8190 वर्ण (भागने दृश्यों के लिए 2 के लिए) - दुर्भाग्यवश मुझे बड़ी लाइन में प्रवेश करने की आवश्यकता है, और जब READLINE_BUFFER_SIZE 8192 से बड़ा कुछ भी सेट किया गया है, तो त्रुटि "इस आदेश को संसाधित करने के लिए पर्याप्त संग्रहण उपलब्ध नहीं है" VS में दिखाई देता है। बफर को 65536 पर सेट किया जाना चाहिए। मैंने ऐसा करने के लिए कुछ समाधान करने की कोशिश की है, फिर भी मैं अभी भी सीख रहा हूं और कोई भी 1022 या 81 9 0 वर्णों से अधिक नहीं है, मैं उस सीमा को 65536 तक कैसे बढ़ा सकता हूं? अग्रिम में धन्यवाद।
क्या आप इनपुट को किसी अस्थायी फ़ाइल में डंप नहीं कर सकते हैं और बस फ़ाइल नाम को कंसोल में पास कर सकते हैं? – digEmAll
मैं 8190 से अधिक वर्ण टाइप नहीं कर सकता, यह बस मुझे अब प्रवेश करने की अनुमति नहीं देगा। मैं डेटा को फ़ाइल में सहेज सकता हूं, फिर भी मुझे भारी इनपुट प्राप्त करने का एक तरीका चाहिए। –
आपका परिदृश्य क्या है? मुझे सच में यकीन नहीं है कि आप सही समस्या को हल करने की कोशिश कर रहे हैं – Onkelborg