Necesito cargar una larga línea larga desde la consola en C#, hasta 65000 caracteres. Console.ReadLine en sí tiene un límite de 254 caracteres (+2 para secuencias de escape), pero puedo usar esto:¿Cómo se lee una entrada muy larga desde la consola en C#?
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);
}
... para superar ese límite, para un máximo de 8190 caracteres (2 para las secuencias de escape): desafortunadamente necesito ingresar WAY la línea más grande, y cuando READLINE_BUFFER_SIZE está configurado a algo mayor que 8192, aparece el error "No hay suficiente espacio de almacenamiento disponible para procesar este comando" en VS. Buffer debería estar configurado en 65536. He intentado un par de soluciones para hacerlo, pero todavía estoy aprendiendo y ninguno superó los 1022 u 8190 caracteres, ¿cómo puedo aumentar ese límite a 65536? Gracias por adelantado.
¿No puedes volcar la entrada a un archivo temporal y simplemente pasar el nombre del archivo en la consola? – digEmAll
No puedo escribir más de 8190 caracteres, simplemente ya no me permitirá ingresar. Puedo guardar los datos en el archivo, pero necesito una forma de obtener una gran cantidad de información. –
¿Cuál es su situación? No estoy seguro de que estés tratando de resolver el problema correcto – Onkelborg