이 프로그램은 종을 울립니다!
저는 프로그래밍 분야에 새로 온 학생이라 며칠 동안 따라다녔던 이 프로그램을 이해할 수 없습니다.프로그램은 다음과 같습니다.
#include "stdio.h"
main()
{
printf("\a");
}
이 프로그램의 의미는 무엇입니까?이 프로그램은 우리가 벨소리를 들을 수 있었다는 뜻입니까?벨 소리가 안 들려요!!!
는 ASCII 문 7은 BELL 자며로, C됩표니다로 됩니다.\a
일부 단말기에서는 이 문자가 단말기에 출력될 때 삐 소리가 나지만, 요즘은 그렇지 않은 단말기도 많습니다. (Ubuntu, 당신을 보고 있습니다.)
ASCII가 BAUDOT의 잿더미에서 코드화되었던 암흑의 시대로 거슬러 올라가, 터미널은 잉크를 종이에 망치로 두드리는 커다란 철 덩어리였고, 종종 종이 테이프 펀치와 판독기를 포함하고, 키 스트로크를 해석하여 회전하는 휠과 릴레이가 있는 수백 보의 비동기 시리얼 신호를 생성했습니다.
작업자가 텍스트를 두드리는 소리에 잠이 들 경우 실제 벨이 울릴 수 있습니다.또는 은 007, 0x07(16진수)입니다.\a
C 문자 또는 문자열 상수로 수신 시 벨을 울립니다.
터미널이 점점 작아지고 움직이는 부품이 거의 없거나 전혀 없는 상태로 구현됨에 따라 물리적 벨은 삐삐로 대체되었습니다.
터미널 에뮬레이터(Windows의 콘솔 창, xterm 또는 Unix의 유사한 것)가 제어 문자를 표시하라는 메시지를 받았을 때 수행하는 작업이 정확히 오늘날 제대로 표준화되지 않았습니다.소음이 나거나 창문이 번쩍여야 하는데 주행거리가 달라집니다.
다음 위키백과 항목을 보십시오: 벨 문자:
C 프로그래밍 언어(1972년 생성)에서 벨 문자는 \a(a'는 "경고" 또는 "청각 가능"을 의미하며 \b가 이미 백스페이스에 사용되었기 때문에 선택됨)와 함께 문자열 또는 문자 상수에 배치될 수 있습니다.
\a
실제로 시스템 차임벨을 트리거합니다.ASCII II의 탈출 순서입니다BEL
성격.
PC의 내장 스피커에서 삐 소리가 들립니다(연결했을 수 있는 외장 스피커 또는 헤드폰이 아님).
문자열에는 다른 모든 문자와 다르게 처리되는 문자가 포함될 수 있습니다.인 것은 자사명는것은시인적되용가주입니다.'\n'
.'\n'
문자는 콘솔에서 문자를 인쇄하지 않고 콘솔에 새 줄을 시작하도록 지시합니다.이러한 특수 문자는 c에 표시되는 고유한 표현이 없고 대신 이스케이프 시퀀스를 사용해야 하므로 인쇄 불가능이라고 합니다.
시퀀스에서"\a"
이며 앞의 백시컴가러에의 .'a'
.
그'\a'
이스케이프 시퀀스는 가청 벨 문자이며, 인쇄를 통해 이 문자를 콘솔에 전달하면 삐 소리가 발생합니다.일부 콘솔에서 신호음이 울리지 않습니다.
여기에 몇 가지 특수 문자가 있습니다. 링크는 c++ 참조에서 가져온 것이지만 대부분 c에 대해 유효해야 합니다.
\a는 ASCII 청각 경보("벨") 제어 문자의 C 표현입니다.구식 시리얼 단말기에서 그 캐릭터를 출력하면 "삑" 소리가 납니다.터미널 에뮬레이터가 이 기능을 구현할 수도 있고 구현하지 않을 수도 있습니다.
모든 답변 외에도 프로그램이 컴파일되지 않을 수 있다는 점을 고려하십시오.다음은 고정 버전입니다.
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("\a");
return EXIT_SUCCESS;
}
가장 중요한 변경 사항은 시스템 헤더를 따옴표 대신 < 및 >로 둘러싸야 한다는 것입니다.또한 main() 함수는 항상 int를 (운영 체제에) 반환하고, 이 int는 두 상수 EXIT_SUCCESS 및 EXIT_FAILURE로 코드화되어 stdlib.h 헤더에 있습니다.
좀 더 간단한 방법을 사용해 보십시오.
printf("hello\tworld");
printf("hello\nworld");
무슨 일이 일어나는지 보세요.
다른 사람들이 지적했듯이, 벨 차를 사용한 당신의 예는 아마도 오늘의 토스터에서 작동하지 않을 것입니다.^H^H^H^H^H^H^H^H 컴퓨터; 대부분의 단말기는 '벨' 문자를 폐기하거나 단말기를 짧게 플래시하도록 리디렉션합니다.
그리고 저를 믿으세요, 당신은 야간 코딩 세션을 위해 그것을 그렇게 유지하고 싶어합니다 :)
당신이 작성한 위의 프로그램은 GNU GCC 컴파일러를 사용하여 코드 블록에서 시도했습니다.
잘 작동하고 있었습니다.
삐 소리를 듣고 싶다면 다른 방법으로 시도해 볼 수 있습니다. Windows에서만 유용합니다!
#include<stdio.h>
#include<windows.h>
main()
{
Beep(600,600); /* you have to enter both the values whatever you want
}
wWinMain 또는 WinMain 진입점이 없는 모든 빌드에서 이 기능이 작동합니다. wprintf(L"\a")
유니코드 빌드에 적합합니다. (여기서는 Win 7).
PC 스피커는 "speaker.drv"에 의존했지만, 그 작은 아름다움은 얼마 전에 사라지고 삐 소리로 대체되었습니다.이제 사용자 모드 시스템으로 이동된 sys는 에이전트로 들립니다.
여기에서는 명령 프롬프트에서 스피커를 활성화하거나 비활성화하는 방법에 대해서도 설명합니다.
#include<stdio.h>
int main()
{
int i = 263;
putchar(i); // or you can directly use putchar(263);
return 0;
}
이 프로그램은 사용자가 출력 화면에 있는 동안 벨 소리를 발생시킵니다.
문제는 당신의 C 프로그램이 완전히 당신의 터미널 설정에 따라 컴파일되는지 여부에 관한 것이 아닙니다. 보통 UEFI가 존재하기 전에 노트북과 PC와 함께 제공되는 PC 스피커를 사용하여 삐 소리를 냅니다.
https://en.wikipedia.org/wiki/PC_speaker
노트북 2대를 사용하여 테스트했습니다. 하나는 UEFI 이전에 구입한 것이고 다른 하나는 UEFI 이후에 구입한 것입니다.
아이런echo -e '\a'
두 테스트 모두에서(두 리눅스 시스템 모두에서)pcspkr
모듈이 로드됨). UEFI가 존재하기 전의 노트북이 삐 소리를 내고 있는지 확인합니다.
언급URL : https://stackoverflow.com/questions/3456138/this-program-sounds-the-bell
'programing' 카테고리의 다른 글
Nokogiri 설치 실패 -libxml2가 누락되었습니다. (0) | 2023.06.15 |
---|---|
Excel 파일에서 Apache POI XSSF 읽기 (0) | 2023.06.15 |
각도 인터셉트카 제외 특정 URL (0) | 2023.06.15 |
플라스크의 HTTP 상태 코드 201 반환 (0) | 2023.06.15 |
16진수로 인코딩된 ASCII 문자열을 일반 ASCII로 변환하시겠습니까? (0) | 2023.06.15 |