2011-01-15 40 views
5

hôm nay khi tôi đang làm việc trên một số mã của tôi, tôi bắt gặp âm thanh bíp khi in bộ đệm vào màn hình. Đây là nhân vật bí ẩn mà tạo ra tiếng bíp: '' Tôi không biết nếu bạn có thể nhìn thấy nó, nhưng máy tính của tôi phát ra tiếng bíp khi tôi cố gắng để in nó như thế này:Tiếng bíp lạ khi sử dụng cout

cout<<(char)7<<endl; 

điểm hấp dẫn khác là 'tiếng bíp' không xuất phát từ tiếng bíp trên bo mạch của tôi, nhưng từ tai nghe/loa của tôi

Đây có phải là máy tính của tôi hoặc có sự cố với chức năng của cout không?

CHỈNH SỬA:

Nhưng tại sao in nhân vật này tạo ra tiếng bíp? điều đó có nghĩa là tôi có thể gửi các nhân vật khác thông qua chức năng cout để tạo ra các hiệu ứng khác nhau không?

+3

Tôi đang chờ dòng lệnh ... Mã ASCII 7 là tiếng bíp hệ thống (Control-G). – tawman

+1

Bạn có thể có cài đặt "Phát hệ thống phát ra tiếng bíp qua loa" trong cấu hình thẻ âm thanh của bạn ở đâu đó. Nếu bạn tắt nó, bạn sẽ nghe thấy 0x7 cách nó có nghĩa là để được lắng nghe, như là một làn sóng sawtooth không thoải mái lớn đến từ loa rẻ nhất nhà sản xuất PC của bạn có thể tìm thấy. – Seth

Trả lời

12

Trong ASCII ký tự 7 là ký tự "chuông" báo hiệu cho thiết bị đầu cuối cần phát ra tiếng bíp.

EDIT: Để trả lời câu hỏi tiếp theo của bạn, nó thực sự chỉ vì lý do lịch sử. Các thiết bị đầu cuối teletype cũ cần một cách để cảnh báo người vận hành tin nhắn đến để chuông được sử dụng. Nhân vật chuông nói với các thiết bị đầu cuối để rung chuông thay vì in một nhân vật.

Trình mô phỏng thiết bị đầu cuối hiện đại thực chất giống nhau, mặc dù chúng thường có tùy chọn để thay thế chuông nghe bằng hình ảnh trực quan.

+0

Bạn là người đầu tiên, do đó bạn sẽ nhận được sự chấp nhận – Unknown

3

char 7 là mã ASCII cho BELL. Viết ký tự này vào bảng điều khiển khiến máy tính phát ra một tiếng bíp. Nó hoàn toàn bình thường.

12

0x7 là ký tự ASCII tạo ra âm thanh 'bleep'. Nó là một ký tự không thể in được. Dưới đây là danh sách đầy đủ các ký tự ASCII và mã của chúng: http://www.asciitable.com/

Chỉnh sửa: Âm thanh có thể được sử dụng cho một sự thay đổi thực sự. Tuy nhiên, bạn không thể thực sự tạo ra các hiệu ứng khác bằng cách gửi các phần dữ liệu khác thông qua. Trong bảng trong liên kết trên bất kỳ thứ gì trong danh sách bên dưới 0x20 (32 thập phân) là một ký tự không thể in được. Chúng có thể có các hiệu ứng khác nhau tùy thuộc vào nơi dữ liệu thực sự là đầu ra.

Về cơ bản bạn chỉ có thể viết một vòng lặp cho đầu ra 0- (bất kỳ số nào bạn muốn dừng lại) để thử nghiệm và xem những gì bạn có thể nhận được.

+1

+1 cho sự thay đổi thực sự. –

3

trò chuyện 7 thực sự là ký tự "bíp" chứ không phải là ký tự màn hình. Mặc dù đôi khi tài liệu có thể hiển thị một ký tự, thường không phải là thứ bạn có thể hiển thị trực quan.

Các vấn đề liên quan