Что делают \t и \b?

Я ожидаю, что эта простая строка кода

printf("foo\b\tbar\n");

заменит "o" на "\t" и выдаст следующий результат

fo     bar

(при условии, что остановка табуляции происходит каждые 8 символов). Напротив, я получаю

foo    bar

Похоже, что моя оболочка интерпретирует \b как "переместить курсор на одну позицию назад", а \t как "переместить курсор на следующую остановку табуляции". Является ли такое поведение специфичным для оболочки, в которой я выполняю код? Должен ли я ожидать другого поведения на разных системах?

30
задан Brian McFarland 28 December 2011 в 18:50
поделиться