Символ (ASCII) - это просто 8-разрядное целое число без знака, т.е. может иметь значение от 0 до 255. Если вы посмотрите на таблицу ASCII, то увидите, как целочисленные значения отображаются в символы. Но в целом вы можете просто переключаться между типами, например:
int chInt = getc(stdin);
char ch = chInt;
// more simple
char ch = getc(stdin);
// to be explicit
char ch = static_cast<char>(getc(stdin));
Редактировать: Если вы используете getc для чтения имени файла, вы можете сделать следующее:
char buf[255];
int c;
int i=0;
while (1)
{
c = getc(stdin);
if ( c=='\n' || c==EOF )
break;
buf[i++] = c;
}
buf[i] = 0;
Это довольно низкоуровневый способ чтения ввода символов, другие ответы дают более высокий уровень / более безопасные методы, но опять же, если вы настроены на getc ...