• ベストアンサー

「\b」が使えません;;

「\b」が使えません;; こんばんは。 突然ですが、「\b」が使えません。 例えば、 #include<stdio.h> int main(){ printf("abcde"); printf("\b\b"); printf("ba"); return 0; } を実行すると「abcba」ではなく「abcdebc」と出力されてしまいます。 使っている環境はxcode3.2.2です。 何がおかしいのか教えて下さいm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

バックスペースは、カーソルを戻すだけです。消去はしません。 また、改行文字は、次の行に移動するもので、(エディタの挿入モードのような)現在のカーソル位置から後が次の行にくることもありません。 なので、カーソルをIで表わすと →printf("abc") abcI →\b\b aIbc →\n abc I となります。

snuke
質問者

お礼

そういう事だったんですか! ありがとうございました。

その他の回答 (2)

  • harawo
  • ベストアンサー率58% (3742/6450)
回答No.2

じっさいにXcodeでビルドして、実行すると、おっしゃるようになりました。 ターミナルでビルドして、実行すると、正しい結果になりました。 まあ、バグということでしょうねえ。

snuke
質問者

お礼

バグですか・・・。 ありがとうございます。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

バックスペースでカーソルが移動するかどうかは、それを[表示する装置]に依存します。 ターミナル.app から実行したら、ちゃんと「abcba」と表示されましたよ

snuke
質問者

補足

サンプルを間違えていました・・・。 申し訳ないです。 #include<stdio.h> int main(){ printf("abc"); printf("\b\b\n"); return 0; } 上を実行すると、「abc」と表示されます。なぜ「a」にならないのでしょうか?