6

今日、私のコードで作業しているときに、画面にバッファを印刷するときにビープ音が鳴りました。ビープ音を鳴らす謎のキャラクターは次のとおりです。''表示できるかどうかはわかりませんが、次のように印刷しようとすると、コンピューターからビープ音が鳴ります。

cout<<(char)7<<endl;

もう1つの興味深い点は、「ビープ音」がオンボードのブザーからではなく、ヘッドフォン/スピーカーから発生していることです。

これは私のコンピューターだけですか、それともcout機能に問題がありますか?

編集:

しかし、なぜこの文字を印刷するとビープ音が鳴るのですか?それは、cout関数を介して他のそのようなキャラクターを送信して、さまざまな効果を生み出すことができるということですか?

4

4 に答える 4

13

0x7は、「ブザー」音を生成するASCII文字です。印刷できない文字です。ASCII文字とそのコードの完全なリストは次のとおりです。http ://www.asciitable.com/

編集:サウンドは、物事の真のメランジに使用できます。ただし、他のデータを送信して他の効果を実際に生成することはできません。上記のリンクの表で、0x20(10進数の32)より下のリストにあるものは、印刷できない文字です。データが実際に出力される場所に応じて、さまざまな影響を与える可能性があります。

基本的には、0-(停止したい数値)を出力するループを記述して、実験して何が得られるかを確認することができます。

于 2011-01-15T19:28:07.167 に答える
11

ASCIIでは、文字7は、ビープ音を鳴らす必要があることを端末に通知する「ベル」文字です。

編集:あなたのフォローアップの質問に答えるために、それは本当に歴史的な理由のためです。古いテレタイプ端末は、着信メッセージをオペレーターに警告する方法を必要としていたため、ベルが使用されていました。ベル文字は、文字を印刷するのではなくベルを鳴らすように端末に指示しました。

最新のターミナルエミュレータは基本的に同じことを行いますが、通常、可聴ベルを視覚ベルに置き換えるオプションがあります。

于 2011-01-15T19:27:04.847 に答える
3

char 7は、BELLのASCIIコードです。この文字をコンソールに書き込むと、コンピューターからビープ音が鳴ります。それは完全に正常です。

于 2011-01-15T19:27:17.120 に答える
3

チャット7は実際には「ビープ」文字であり、画面文字ではありません。ドキュメントに文字が表示される場合もありますが、通常、視覚的にレンダリングできるものではありません。

于 2011-01-15T19:28:07.337 に答える