コンソール出力の最後の x 文字を置き換えたい。を使用して完全な行を削除でき\r
ます。しかし、コンソール出力から最後の x 文字を削除する方法はありますか?
質問する
539 次
2 に答える
2
PHPの場合:
バックスペース文字を印刷するには、 を使用します0x08
。しかし、問題があります。それに改行を続けると"\n"
(通常はそうします)、カーソルが EOL に戻り、文字が再び表示されます。良いニュースは0x08
、同じ数のスペースで をフォローすると、正常に機能することです。たとえば、最後の 2 文字を削除するには、次のようにします。
<?php
print "Hello";
printf("%c%c",0x08,0x08);
print " \n";
?>
どちらが印刷されますかHel
。printf()
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 に答える