Я хочу предоставить возможность табуляции для потоков вывода текста C++. должен позволить мне сказать «обратите внимание на эту позицию», затем разрешить несколько операций вставки и, наконец, позволить мне сказать «добавьте достаточное количество символов заполнения, чтобы закончить N
символов после первоначально отмеченной позиции».
Стандартная система iostream
, похоже, не поддерживает позицию столбца, но я подумал, что смогу подделать ее, используя tellp()
. Я предполагал, что разница между tellp()
в двух точках моей выходной последовательности будет соответствовать количеству промежуточных байтов.
К сожалению, по крайней мере, в моей среде Gnu C++, cout
не поддерживает фиктивную позицию потока. Каждый вызов cout.tellp()
возвращает -1
. Почему так?