getch retorna 2 caracteres quando digito um
Quando eu uso o getch, ele sempre acrescenta o caractere lido com um caractere nulo.
Quando eu uso o seguinte código:
#include "stdafx.h"
#include <conio.h>
int main()
{
char c = 0;
while (c != 'x')
{
c = _getch();
printf("Char read: <%c> \n", c);
}
}
Ele retorna o seguinte no console, quando pressiono as teclas "asdx":
Char read: <a>
Char read: < >
Char read: <s>
Char read: < >
Char read: <d>
Char read: < >
Char read: <x>
Isso é compilado no VS 2017 em um novo projeto simples de arquivo único, executando em uma janela de console do Windows 10. Eu tentei remover o _UNICODE e UNICODE define.