C言語での制御文字「\a」を使ってビープ音を出したいのですが出ません。何がおかしいのでしょうか?
・・・・・・・・・・・・・・・・・・・・・・・・・
#include <stdio.h>
main () {
printf("\a");
return 0;
}
・・・・・・・・・・・・・・・・・・・・・・・・・
これをコンパイルして実行しても何も起きないのです。
昨日から独学でがんばっているのですが、早々に詰まってしまいました。^^;
お分かりになられる方がいらっしゃれば教えてください。
おねがいします。
No.5ベストアンサー
- 回答日時:2008/03/31 10:56
年寄りの自作ディスクトップパソコンには、
☆サウンドドライバで制御されるディスプレイ付属の「スピーカー」(●)
☆ビープ音だけを出す本体「スピーカー」(◆)
の2つがあります。
●からは、音量を最大にしても、聞こえませんでした。
◆からは、ビープ音が出ました(当たり前か)。
というか、サウンドドライバに依る「スピーカー」を、printf() で制御できるのかなぁ?。
printf( "\a" );
printf( "%c", 0x07 );
↑◆で、ともに鳴ります。
>何がおかしいのでしょうか?
(サウンドドライバで制御される)「スピーカー」の音量を最小またはミュートして、耳を澄ましてみれば・・。
☆もし質問者様がノートパソコンでしたら・・、年寄りの「アドバイス」は参考にはならないかと思います。
参考URL:http://e-words.jp/p/r-ascii.html
今、別のパソコンで実行しましたところ音がでました。
また、リモートデスクトップから起動し実行しましたがそちらでも音を確認できました。
自作機でサウンドカードを入れていないのが原因だとおもわれました。
一度、
>>(サウンドドライバで制御される)「スピーカー」の音量を最小またはミュートにして、耳を澄ましてみれば・・。
これを試してみようとおもいます。
回答ありがとうございました。
これでほとんど解決です^^
No.7
- 回答日時:2008/03/31 23:49
ANo. 6 で書いたことの訂正です。
> Visual Basic 2005 Express Edition にてコンパイルしたもの(4 種類のバイナリ)
Visual C++ 2005 Express Edition です。
VB で Console.Write(Chr(7)) でも試したので間違って書いてしまいました。
失礼致しました、申し訳ありません。
No.6
- 回答日時:2008/03/31 23:41
> OSはXP
> CコンパイラはBorland C++ Compiler5.5
機種が書いてないのでなんとも言えませんがたぶん音が出ると思います。
もしかして「本体のスピーカとサウンドカードの……」とも思いましたが、それは ANo.5 の
御方の既に仰られているので。
念のためにパソコンの音量が下がっていないかも確認して、どうしても音が出ないのであれば、
お友達のパソコンで実行させてもらってみてはいかがでしょうか?
※ 下記は蛇足というか余談ですので軽く受け流しておいてください。
こちらで確認したもの。
(1) Linux
GCC でコンパイルしたもの
Linux のローカル端末 ○
Putty(ssh 接続ソフトウェア) + リモートの Linux ○
# これはローカルで ASCII コードを処理するので鳴ると予想されました。
VNC(リモートデスクトップのようなもの) + リモートの Linux + gnome-terminal ○
Xming(Windows のXserver) + gnome-terminal ○
# VNC と Xming で鳴るのは不思議ですが、何か仕掛けがあるのでしょう。
リモートのパソコンから音が出るのではなく、音が出るのは操作している側のパソコンの話です。
(2) Windows
MinGW(GCC)、Cygwin(GCC)、Borland C++ Compiler 5.5 Free、
Visual Basic 2005 Express Edition にてコンパイルしたもの(4 種類のバイナリ)
Windows 2000 のコマンド プロンプト ○
Windows XP のコマンド プロンプト ○
それぞれ音色は違ったのですが、上記の環境では音が鳴らないものはありませんでした。
\a の a は Alert の略なので、おそらく警告として音が出ればよいのでしょう。
ちなみに、これらも音が出ました。
# 当たり前なんですが。
/* 16進数表記 */
printf("\x07");
/* 8進数表記 */
printf("\007");
printf("\7");
/* 文字出力フォーマット */
printf("%c", 0x07);
>>もしかして「本体のスピーカとサウンドカードの……」とも思いましたが
まさにコレでした。
別のパソコンや違うPCからのリモートデスクトップからでも音が確認できましたので・・・^^;
サウンドカードは入れていないとやははり音がならないのでしょうか?
機種は自作機で予算の都合サウンドカードは入れてなかったもので・・・
音はスピーカーからサウンドドライバ制御で出力していました。
やはり、今回のビープ音はサウンドドライバで制御できていなかったのでしょうか?
回答ありがとうございました。
No.4
- 回答日時:2008/03/31 08:36
ASCIIコードでベルは0x07です
エスケープ文字では\aは警告文字で一般にASCIIコードの0x07であらわされます(\nが0x0aになるように)
コマンドプロンプトでは\aは使えないのではないでしょうか
No.1
- 回答日時:2008/03/31 06:58
> 何がおかしいのでしょうか?
コード自体は main() が int main() になってないぐらいしか……
# それは音が出る出ないには関係ないですから。
お使いの OS やコンパイル環境なども詳しくお書きになると何かわかるかも知れません。
遅れました。
OSはXP
CコンパイラはBorland C++ Compiler5.5
を使っています。
制御符号も
\a・・・ベルを鳴らす
\b・・・1文字戻る
\0・・・ヌル文字
などと参考書に書かれていましたが
ビープ音(ベルの音)は鳴りません。
それぞれどのような効果があるか試して見たいのですがソースがわからずに困っています。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
printf(\\a");のアラーム音"
C言語・C++・C#
-
sleep()関数について
C言語・C++・C#
-
fgetsなどのときのstdinのバッファを消すには?
C言語・C++・C#
-
4
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
5
複数桁10進数の*桁目だけを抽出したい
C言語・C++・C#
-
6
int型からchar型への変換
C言語・C++・C#
-
7
int main()、void main()、void main(void)、int main(void)
C言語・C++・C#
-
8
#include <Windows.h>というヘッダファイルについて
C言語・C++・C#
-
9
音楽再生ソフトを作るには
C言語・C++・C#
-
10
バッファとは何ですか
C言語・C++・C#
-
11
C++とVC++の違いについて
C言語・C++・C#
-
12
Linuxのgccのインクルードパス?
UNIX・Linux
-
13
音を出す方法
C言語・C++・C#
-
14
DWORDの実際の型は何でしょうか
C言語・C++・C#
-
15
main関数終了時のreturnの意味は?
C言語・C++・C#
-
16
stdin,stdoutについて
C言語・C++・C#
-
17
文字列の反転
C言語・C++・C#
-
18
cでなぜguiアプリが作成出来るのか。
C言語・C++・C#
-
19
反転した数値を表示させるやり方
C言語・C++・C#
-
20
float型とdouble型の変数の違いを教えてほしいです
C言語・C++・C#
関連するQ&A
- 1 c:\プロジェクト別\c言語\c-master\kadai22\main.c(1) : fatal error C1083: include ファイルを開けませ
- 2 なぜかビープ音が鳴ります(C言語)
- 3 c:\Winodows\Sendotoとc:\Windows\デスクトップについて
- 4 /a ビープ音 鳴らない
- 5 PIC16F84AのデバイスでC言語を用いて音を出したい
- 6 C言語 4) 整数 a, b, c を入力とし,2次方程式 a x2 + b x + c = 0 の
- 7 c言語での\nや\tなどすべての記号に語源はあるのでしょうか?
- 8 2 ~ 200 の素数 a, b, c (a < b < c) が、b - a = c - b を満たすa,b,cをビット操作を用いて求め、すべてを表示せよ
- 9 c#について質問があります。 a b c d など任意の文字を入れたら abcd とスペースを
- 10 C言語C++言語アセンブラ言語の就職先
あなたにおすすめのQ&A
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
コンパイルエラー invalid ope...
-
5
アプリを32bitから64bit移行
-
6
C言語のコンパイルができません
-
7
#ifdef の使い方
-
8
C言語で作ったらWindowsでもMac...
-
9
64bit環境で32bitでコンパイル...
-
10
43:syntax error at end of input
-
11
VBA と コンパイル の関係
-
12
C#のサンプルソースのコンパイ...
-
13
コンパイルすると error C1083 ...
-
14
Mac C Undefined x86_64
-
15
wstringの主力
-
16
エラー 'dir.h' : No such fi...
-
17
PRO*C コンパイルエラー
-
18
gccでの分割コンパイルについて
-
19
「インクルードファイル 'pthre...
-
20
構造体のポインタ参照
おすすめ情報
公式facebook
公式twitter