#include <windows.h>
#include <iostream>
#include <string>
void flood(int &key)
{
const int event_cnt = 2;
INPUT ip1[event_cnt];
ip1[0].type = INPUT_KEYBOARD;
ip1[0].ki.wScan = 0;
ip1[0].ki.time = 0;
ip1[0].ki.dwExtraInfo = 0;
ip1[0].ki.wVk = key;
ip1[0].ki.dwFlags = 0;
ip1[1] = ip1[0];
ip1[1].ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(event_cnt, ip1, sizeof(INPUT));
}
int main()
{
std::string word;
std::cout << "Enter word.\n";
std::cin >> word;
Sleep(5000);
for (int i = 0; i < word.length(); i++)
{
int key = static_cast<int>(word[i]);
flood(key);
}
return 0;
}
вкратце - я ввожу в консоль слово, после в цикле каждый символ слова преобразовывается в int и далее функция flood, которая эту букву печатает, но дело в том, что при преобразовании код числа меняется по неизвестной мне причине, то есть условно говоря вместо буквы a напечатается число 1, в чём проблема?