ReadConsole, maximale Buffergrösse



  • Hallo

    Ich möchte gerne die gesamte Benutzereingabe in einer mit AllocConsole erzeugten Konsole per ReadConsoleW lesen.
    Das klappt auch soweit. Allerdings muss man der Funktion einen Buffer übergeben sowie seine grösse. Das wäre ja kein Problem, wenn ich wüsste,
    wieviele Zeichen ein Benutzer maximal eingeben kann.

    Auf MSDN steht:

    A pointer to a buffer that receives the data read from the console input buffer.
    The total size of the buffer required will be less than 64K.

    Hab also den Buffer mal auf 64K gesetzt und die grösse übergeben.
    Fehlanzeige, ReadConsoleW schlägt fehl.
    Mit kleineren Buffergrössen funktioniert alles.

    Wie kann ich dieses Problem umgehen?
    Wie lese ich die gesamte (maximale) Benutzereingabe?

    Danke, gruss SCRJ.



  • ja die MSDN sagt doch less than 64k, also mach den puffer doch mal 64k-1 bytes groß.



  • ...Funktioniert nicht.
    Mit einem Buffer von der Grösse von ungefähr 20K funktionierts noch.
    Grösser geht nicht mehr.



  • Da steht aber, dass dein Buffer so gross sein muss dass 1 Kilo Bytes reinpassen. Also musst du erstmal schauen wie gross und wie schwer 1 Byte ist und das Volumen hochrechnen.

    Grüße

    Ein Stein



  • Da steht aber...
    Wo?

    Also musst du erstmal schauen wie gross und wie schwer 1 Byte ist und das Volumen hochrechnen.
    Ich schätze ein Byte auf 2.343 Gramm...


Anmelden zum Antworten