エスケープシーケンス'˶'ᵕ'˶'の使い方は?
2023-08-22 02:03:54
質問
以下のようなC言語のコードがあります。
#include<stdio.h>
int main()
{
printf("Hey this is my first hello world \r");
return 0;
}
を使用しました。
\r
というエスケープシーケンスを使って実験してみました。このコードを実行すると、次のような出力が得られます。
o world
なぜそうなるのか、そして、そのために
\r
を使うのか?
同じコードをオンラインコンパイラで実行すると、次のような出力が得られます。
Hey this is my first hello world
オンラインコンパイラでは、なぜか
\r
?
どのように解決するのですか?
\r
は
キャリッジリターン
文字で、端末エミュレータにカーソルを行頭に移動するように指示します。
は カーソル は、次の文字がレンダリングされる位置です。
で、印刷すると
\r
を表示することで、端末エミュレータの現在の行を上書きすることができます。
トム・ジッチ
は、なぜあなたのプログラムの出力が
o world
であるのに対して
\r
は行末にあり、それ以降は何も出力しません。
プログラムが終了するとき、シェルはコマンドプロンプトを表示します。ターミナルはカーソルを置いた場所にそれを表示します。プログラムはカーソルを行頭に置いたままなので、コマンドプロンプトは表示した行を一部上書きしています。このため、コマンドプロンプトの後に
o world
.
は
オンラインコンパイラ
はブラウザに生の出力を出力するだけです。ブラウザは制御文字を無視するので
\r
は何の効果もありません。
参照 https://en.wikipedia.org/wiki/Carriage_return
以下は
\r
:
#include <stdio.h>
#include <unistd.h>
int main()
{
char chars[] = {'-', '\\', '|', '/'};
unsigned int i;
for (i = 0; ; ++i) {
printf("%c\r", chars[i % sizeof(chars)]);
fflush(stdout);
usleep(200000);
}
return 0;
}
という文字が繰り返し表示されます。
-
\
|
/
が回転しているように見せるため、同じ位置で
|
が回転しているように見える。
関連
-
[解決済み] error: 'if' の前に unqualified-id を期待した。
-
[解決済み】デバッグアサーションに失敗しました。C++のベクトル添え字が範囲外
-
[解決済み] 配列のベクトルを扱う正しい方法
-
[解決済み] explicit キーワードの意味は?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] mallocの結果はキャストするのですか?
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] XML文書でエスケープする必要がある文字は何ですか?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】coutはstdのメンバではない
-
[解決済み】C++でint型に無限大を設定する
-
[解決済み】致命的なエラー LNK1169: ゲームプログラミングで1つ以上の多重定義されたシンボルが発見された
-
[解決済み】C++でランダムな2倍数を生成する
-
[解決済み】エラー:strcpyがこのスコープで宣言されていない
-
[解決済み】Visual Studio 2013および2015でC++コンパイラーエラーC2280「削除された関数を参照しようとした」が発生する
-
[解決済み】ファイルから整数を読み込んで配列に格納する C++ 【クローズド
-
[解決済み】なぜ、サイズ8の初期化されていない値を使用するのでしょうか?
-
[解決済み] to_string は std のメンバーではない、と g++ が言っている (mingw)
-
[解決済み] 警告:暗黙の定数変換でのオーバーフロー