मुझे पता है कि प्रोग्राम के लिए stdout/in/err हैं और मैं कंसोल आउटपुट के बजाय किसी प्रोग्राम के आउटपुट को फ़ाइल में रीडायरेक्ट करना चाहता हूं। और अब मैं यह पता लगा नीचे कोड के साथ:प्रोग्राम के StdOut स्ट्रीम को सीधे सी # में कैसे लिखें?
FileStream fs = File.Open(@"E:\console.txt", FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(fs);
TextWriter old = Console.Out;
Console.SetOut(sw);
Console.Write("bbb");
sw.Flush();
लेकिन इस दृष्टिकोण कार्यक्रम के stdoutको Console.Out कनेक्ट करने और फाइल करने के लिए Console.Out पुनर्निर्देशित करना होता है। यह इस तरह से एक तरह से है:
Program.StdOut -> Console.Out -> फ़ाइल
Console.Out यहाँ एक पुल हो रहा है। मुझे यह पुल नहीं चाहिए और मैं आउटपुट बनाने के लिए कंसोल। राइट() का उपयोग नहीं करना चाहता हूं। मैं प्रोग्राम की stdout स्ट्रीम को लक्ष्य फ़ाइल सीधे पर कैसे मैप कर सकता हूं और कंसोल के बजाय प्रोग्राम के stdout पर सीधे लिख सकता हूं। राइट()? क्या मैं चाहता हूँ एक तरह से इस तरह है:
Program.StdOut -> फ़ाइल
Process.StandardOutput संपत्ति केवल मुझे एक केवल पढ़ने के लिए StreamReader वस्तु देता है। प्रक्रिया को कैसे लिखें। मानक आउटपुट ?? या प्रोग्राम का stdout कहां है?
बहुत धन्यवाद।
धन्यवाद, माइकपी। मैं सोच रहा हूं कि कंसोल क्लास को OpenStandardOutput() विधि का दावा क्यों करें, प्रक्रिया विधि के तहत इस विधि को वर्गीकृत क्यों न करें, मुझे लगता है कि यह अधिक उचित होगा। किस प्रकार का डिज़ाइन दर्शन शामिल है? – smwikipedia
मुझे नहीं पता कि उन्होंने इस विधि को क्यों चुना है। – MikeP