시스템 ("일시 중지")을 사용하면 "계속하려면 아무 키나 누르십시오 ..."라는 메시지가 화면에 나타납니다.시스템 ("일시 중지") 설명
이것은 자극적이며 출력을 읽기가 번거롭 게 만듭니다.
오는 것을 막을 수있는 방법이 있습니까?
시스템 ("일시 중지")을 사용하면 "계속하려면 아무 키나 누르십시오 ..."라는 메시지가 화면에 나타납니다.시스템 ("일시 중지") 설명
이것은 자극적이며 출력을 읽기가 번거롭 게 만듭니다.
오는 것을 막을 수있는 방법이 있습니까?
계속 하시려면 아무 키나 누르시고 "계속하려면 아무 키나 누르십시오"라고 표시하지 않으시겠습니까? 이 getchar();
을 시도하면 키보드에서 한 글자를 입력하고 계속 진행합니다.
+1이 답변은 간단하고 아주 좋습니다. 광산 울부 짖는 소리는 "설명"을 돕는 것입니다. 여기에 제안 된대로'getchar()'을 사용하십시오. –
Windows를 사용 중이라고 가정하면 system("pause")
을 system("pause > NULL")
으로 바꿉니다.
감사합니다. 좋은 점은 프로그램의 출력을 Windows의 null 장치에도 전달할 수 있다는 것입니다. :) – Wookie88
해당 줄은 system("pause")
의 일부입니다. getline(std::cin, variable)
또는 cin.get()
과 같은 다른 방법을 시도해 볼 수 있습니다.
오히려 플랫폼에 의존 system("pause")
을 사용하는 것보다 당신은 std::cin.get()
독립적 인 플랫폼을 사용할 수 있으며 버퍼가 덤비는 경우, 당신은 사용할 수 있습니다
std::cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n')
을 손 전에 버퍼를 지 웁니다.
cin.get() 버퍼없이 콘솔에서 직접 charachter 읽을 수 있습니까? – IcyFlame
우선 system("pause")
을 사용하는 것은 위험하므로 먼저해야합니다. 귀하의 코드는 아무 이유없이 외부 시스템 절차를 호출합니다; 크래커는 "일시 중지"명령을 다른 프로그램으로 대체하여 프로그램이 사용자 권한으로 다른 프로그램을 호출하도록 할 수 있습니다.
즉, null
기기로 메시지를 보내지 않도록 할 수 있습니다.
:
일시 정지> NUL
그리고이 끔찍한 시스템 호출 이식을 할 대담하려는 경우, 당신은 사용할 수 있습니다
리눅스에서 :
echo pres 계속하기위한 어떤 열쇠 ...; 이제 X
당신이 모두에 또는 및 및 (논리 접속사)를 적용 할 수 있습니다 읽고 두 시스템에서 모두 작동하는 시스템 호출합니다
void pause(void)
{
system("echo Press any key to continue . . . && (read x 2> nul; rm nul || pause > nul)");
return;
}
이
리눅스 임시을 만들 것 이 키워드를 인식하지 못하기 때문에 "nul"파일을 발견했습니다. 리눅스의 널 장치는 /dev/null
이며, 단지 nul
이 아닙니다. 그 후에 명령은이 임시 파일을 rm nul
으로 제거합니다. 따라서 동일한 디렉토리에 nul
이라는 파일이있는 경우이 명령이 (다른 이유로) 좋지 않다는 경고를받습니다.
이 명령은 원본을 모방합니다.메시지를 피하려면 그냥 echo Pres...
부분 만 제거하면됩니다.
보너스 :
system
를 사용하여 이식 단말기 화면? (.. 아니, 같은 이유로 그것의 위험을이 작업을 수행하지 않습니다)하지만 테스트 목적을 위해, 당신은 사용할 수 있습니다 :system("cls||clear");
는 pause
을 피하십시오. C는 가장 강력한 언어 중 하나 인 언어입니다. 예를 들어 getchar()
또는 scanf()
만 사용하여 pause
을 만드는 방법이 있다고 확신합니다.
사용
system("pause>nul")
그것은 창문 완벽하게 작동합니다!
안녕하세요 Aayush. 당신은이 질문에 아주 늦게 대답하고 있습니다. 당신은 당신의 대답이 이미 제공된 것보다 낫다는 것을 독자에게 말할 수 있습니까? –
'std :: cin.get()'을 대신 사용하십시오. – Rapptz