Funções simples, como o método getline() , usam o modo cozido do driver tty do kernel, que possui apenas alguns recursos básicos de edição de linha (backspace, ^W para excluir uma palavra etc.), mas sem suporte para setas ou algo parecido.
Para obter recursos de edição de linha completa, você deve usar a biblioteca readline em vez de getline() .