Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何读取写入控制台的所有文本_C# - Fatal编程技术网

C# 如何读取写入控制台的所有文本

C# 如何读取写入控制台的所有文本,c#,C#,我访问了像这样的页面 是否有一个函数可以获取控制台中的所有文本并将其保存到字符串或数组中?我正在考虑在编写文本后从控制台中获取函数中的文本。这可能吗?如果不是模拟控制台功能的话,我尝试过,但包括删除文本 // I tried this. I do this for Write(),WriteLine(),ReadLine(),Read() // It works for these functions. But when I remove something from console // it

我访问了像这样的页面

是否有一个函数可以获取控制台中的所有文本并将其保存到字符串或数组中?我正在考虑在编写文本后从控制台中获取函数中的文本。这可能吗?如果不是模拟控制台功能的话,我尝试过,但包括删除文本

// I tried this. I do this for Write(),WriteLine(),ReadLine(),Read()
// It works for these functions. But when I remove something from console
// it don't save.
public static void Write(object value)
{
    Console.Write(value);
    AddToOutput(value.ToString());
}

public static void WriteLine(object value)
{
    Console.WriteLine(value);
    AddToOutput(value.ToString()+ "\n");
}

public static void WriteLine()
{
    Console.WriteLine();
    AddToOutput("\n");
}

public static string ReadLine()
{
    string txt = Console.ReadLine();
    AddToOutput(txt+"\n");
    return txt;
}

public static void AddToOutput(string txt)
{
    Log += txt;
}
您可以使用ReadKey跟踪任何退格键,然后将前一个字符串设置为要迭代的变量


我可能会使用ReadLine和ReadKey的组合来跟踪所有内容……也许以后会在程序中组合它们

你如何删除文本?改变位置和覆盖?问题不太清楚;您是说您有一个控制台程序在控制台窗口中运行,并且您想在启动程序之前阅读控制台中已经存在的文本吗?你到底在问什么?如果你想知道你刚刚写了什么文本到控制台,你已经知道了;是你写的!是的,我的意思是改变位置和覆盖。我想得到已经在控制台中写入的文本。当数据写入控制台时,您可能应该将数据保存到变量或数组中。在移动光标和更改控制台中的文本时,也要修改保存在变量中的数据。无法直接从C执行此操作,但可以通过对读取控制台当前内容的Win32 API执行PInvoke调用来间接执行此操作。我已经结束了这个问题,作为先前类似问题的重复;有关如何执行PInvoke步骤从控制台读取的说明,请参见该问题的答案。是的,但我的问题是程序更改光标位置并替换文本。在这种情况下,我将把所有控制台输出保存到一个文本文件中,然后稍后对其进行解析以获取所需的数据。
Console.ReadKey();