0

コンソール出力の最後の x 文字を置き換えたい。を使用して完全な行を削除でき\rます。しかし、コンソール出力から最後の x 文字を削除する方法はありますか?

4

2 に答える 2

2

PHPの場合:

バックスペース文字を印刷するには、 を使用します0x08。しかし、問題があります。それに改行を続けると"\n"(通常はそうします)、カーソルが EOL に戻り、文字が再び表示されます。良いニュースは0x08、同じ数のスペースで をフォローすると、正常に機能することです。たとえば、最後の 2 文字を削除するには、次のようにします。

<?php
    print "Hello";
    printf("%c%c",0x08,0x08);
    print "  \n";
?>

どちらが印刷されますかHelprintf()with%cを使用して整数 (0x08) を文字として使用していることに注意してください。

x 個の文字を削除する一般的な方法:

<?php
    $x = 4;
    $str = "Those who are about to die salute you";
    $hacky = str_repeat(chr(0x08),$x).str_repeat(" ",$x);
    print "$str$hacky\n";
?>

を印刷しThose who are about to die saluteます。ここでの使用に注意してくださいchr(0x08)。これは、文字セットの位置 8 にある文字を返します。

于 2013-03-07T16:07:43.460 に答える
0

コマンドを使用できますcut

于 2013-03-07T15:54:47.663 に答える