Есть ли способ скрыть пользовательский ввод при запросе на C? Например:Скрыть пользовательский ввод и разрешить только определенные символы
char *str = malloc(sizeof(char *));
printf("Enter something: ");
scanf("%s", str);getchar();
printf("\nYou entered: %s", str);
// This program would show you what you were writing something as you wrote it.
// Is there any way to stop that?
Другое дело, как вы можете разрешить только определенные символы? Например:
char c;
printf("Yes or No? (y/n): ");
scanf("%c", &c);getchar();
printf("\nYou entered: %c", c);
// No matter what the user inputs, it will show up, can you restrict that only
// showing up if y or n are entered?
Side Примечание: 'символ ул = таНос * (SizeOf (Char *));' кажется неправильным. scanf небезопасно читать строки C –
Возможный дубликат [Прочитать пароль из std :: cin] (http://stackoverflow.com/questions/1413445/read-a-password-from-stdcin) (хотя OP не спрашивая о вводе пароля, принятое сообщение в связанном потоке показывает, как отключить/включить 'terminal echo') –
забыл упомянуть об окружающей среде, это какая-то совместимая с posix оболочка, win console или что? Ваш терминал управляет входным буфером и афайком, нет портативного способа сделать это. – AoeAoe