我如何才能简单地读取控制台输出

时间:2018-09-27 14:40:45

标签: c++ winapi console char

听起来很简单,但是我没有找到正确的方法 我写

"DoCmd.RunSQL (""Insert....
I don't need the first or second "

我知道

cout << "Hello world" << endl;

例如,我想获取第二个字符'e'

方法

Hello world

这存在吗?

1 个答案:

答案 0 :(得分:2)

您可以使用名为ReadConsoleOutputCharacter的winapi函数。

示例:

#include <Windows.h>
#include <iostream>

int main()
{
    std::cout << "Hello World!" << std::endl;

    HANDLE consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);

    char characterFromConsole;

    COORD positionInBuffer;
    positionInBuffer.X = 0; // Column number
    positionInBuffer.Y = 0; // Row number

    DWORD numberOfCharactersReaded = 0;

    DWORD numberOfCharactersToRead = 1;

    ReadConsoleOutputCharacter(
                consoleHandle,
                &characterFromConsole,
                numberOfCharactersToRead,
                positionInBuffer,
                &numberOfCharactersReaded);

    std::cout << characterFromConsole << std::endl;
}

在输出中,您将在第一行和第一列中收到字符,在我们的示例中为H

您将在reference中找到更多有关的信息。