Что происходит, когда \t встречает \b в C?
Я знаю что \t
а также \b
имею в виду.
Но что будет, когда \b
после \t
и что будет когда несколько \b
а также \t
комбайн.
Посмотрите на этот код, он содержит различные комбинации \t
а также \b
:
printf("1\t1\t1\t1\n");
printf("---------------------------\n");
printf("1\t2\b\b3\n");
printf("\t\b1\n");
Я получил:
1 1 1 1
---------------------------
1 32
1
Два \b
отображаются по-разному.
Результаты сбивают с толку, с моими имеющимися знаниями просто не могу объяснить.
Я не знаю как понять \t
а также \b
в конце.
1 ответ
printf("\b")
отправляет символ возврата на стандартный вывод. printf("\t")
отправляет символ табуляции на стандартный вывод. Что происходит оттуда до окружающей среды; Ваша программа не имеет никакого реального контроля над ней.
На типичном интерактивном устройстве вывода Backspace будет перемещать курсор на один столбец влево (не стирая ничего), а символ табуляции перемещает курсор на следующую остановку (также ничего не стирая). Это должно объяснить, что вы видите.
(На самом деле вывод, который я получаю, отличается от того, что вы нам показали, что заставляет меня думать, что в терминале, который вы используете, есть что-то другое, или вы неправильно расшифровали вывод.)