Я разрабатываю программу, которая использует функции malloc
и realloc
для увеличения буфера указателя в реальном времени, пока пользователь вводит строку.
Проблема в том, что я хотел бы запретить пользователю нажимать Backspace для исправления ввода. Можно ли каким-то образом заблокировать клавишу Blackspace в C при использовании getche()
?
Моя последняя программа будет иметь два входа: один без Backspace (вы не можете вернуться), а другой с Backspace. (вы можете исправить ввод и затем нажать Enter).
char *szString;
char *tmp;
int i = 0;
char c;
szString = '\0';
szString = malloc(1);
printf("Enter a string: ");
while ((c = getche()) != '\r')
{
if(c = 0x08) // BackSpace
{
//
}
szString[i] = c;
i++;
tmp = realloc(szString, i+1);
szString = tmp;
}
szString[i] = '\0';
printf("\nYou typed: %s", szString);
szString = '\0';
должен выдать предупреждение о переходе от целого числа к указателю &, аmalloc
в следующей строке делает его избыточным ... - person Kninnug   schedule 02.12.2013