1. ホーム
  2. c++

[解決済み] タブ文字(☑)は何文字ですか?

2022-02-07 09:40:12

質問事項

テキストの描画機能を実装したい。しかし、どのように \t がどのように機能するのか、すなわち \t .

私は次のようなアルゴリズムを思いつきました。

a) 各 \t は、最大で NUMBER_OF_SPACES_FOR_TAB の空間がある。 b) もし \t が最終行の対応する位置に現れる。 \t に対して整列させる必要があります。 \t を表示します。

printf("a\t\tb\n");
printf("\t\tc\n");

印刷する必要があります。

a11112222b
34444c

どこで

1.番号 i のスペースを表します。 \t の位置で i

2. NUMBER_OF_SPACES_FOR_TAB == 4

どなたか標準的なアルゴリズムをご存知の方はいらっしゃいますか?よろしくお願いします。

どのように解決するのですか?

タブ文字で次へ進む タブストップ . 歴史的にはタブストップは8文字ごとでしたが、現在ではより小さな値が一般的に使われており、ほとんどのエディターで設定可能です。

以下のような出力になると思います。

123456789
a       b
        c

列のカウントを0から始めて、1文字出力するごとにインクリメントしていくアルゴリズムです。タブになったら、出力 n-(c%n) スペース c は列番号(ゼロベース)であり n はタブ間隔です。