And*_*nko 2 c++ console winapi char
听起来很简单,但我还没有找到我写的正确方法
cout << "Hello world" << endl;
Run Code Online (Sandbox Code Playgroud)
我懂了
Hello world
Run Code Online (Sandbox Code Playgroud)
我想要获得例如第二个字符“e”
方法如
GetConsoleChar(1,0) //gives us char 'e'
Run Code Online (Sandbox Code Playgroud)
这存在吗?
您可以使用名为 的 winapi 函数ReadConsoleOutputCharacter。
例子:
#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;
}
Run Code Online (Sandbox Code Playgroud)
在输出中,您将在第一行和第一列中收到字符,在我们的例子中是H。
您可以在参考资料中找到更多信息。