Ctrl + Z로 루프를 종료하려고하는데 작동하지 않습니다. 신중하게 코드를 살펴 봤지만 문제를 파악할 수는 없습니다. 귀하의 도움을 주시면 감사하겠습니다. Dev-C++을 사용하고 있습니다. 코드는 다음과 같습니다.루프를 종료 할 때 Ctrl + Z가 작동하지 않습니다.
답변
Windows 콘솔 I/O와 C++ 스트림 I/O를 혼합합니다. Gary Larson을 다른 말로 바꾸려면 테라 리엄과 호환되지 않는 종을 혼합했습니다.
같이, 단지 C++ 구조를 사용해보십시오 :
do
{ //enter student data
cout << "Name: " ;
if(!cin>>name) break;
cout<<"Age: ";
if(!cin>>age) break;
cout << "GPA: ";
if(!cin>>GPA) break;
}
while(cin); //Ctrl+Z to exit
유닉스 계열 컴파일러를 사용하는 경우 ctrl-D를 사용하십시오. Dev-C++에 익숙하지는 않지만 MinGW에 관해서는 뭔가를 말합니다.
할당에서 dos에서 Ctrl-Z를 사용하기를 원합니다. 이후 나는 윈도우 비스타를 사용하고 있으므로 Ctrl-Z가 해당 OS에서 사용하는 것임을 알았습니다. – T4000
콘솔은 파일이 아닙니다. 콘솔이 끝나지 않습니다. 콘솔이 파일의 끝을 가질 수있는 방법은 없습니다.
나는 당신이 I/O는 (conio.h
/getch
), I를 제출하지/O (stdio.h
/getchar
를) 콘솔을 사용하고 있는지 잊어 버린 것 같아요. EOF
에 대해 무엇을 생각하든 콘솔 I/O가 아닙니다. 나는 getch
수 반환 EOF
, 그리고 내가 말할 수있는 한, 어떤 의미가되지 않을 것이라고 제안하는 설명서를 찾을 수 없습니다.
Control-Z를 확인하려면 다음을 수행하십시오. 십진수 26 또는 0x1A
입니다.
예, EOF 값은 -1입니다. 그런데 Ctrl-Z의 ASCII 이름은 EOF 대신 SUB입니다. –
사람은 Ctrl 키를 입력 한 경우 확인하는 코드는 다음과 같습니다 당신이 당신의 DO-동안 형식을 유지하려는 경우,
또는 + Z? 나는 EOF에 대한 수표 만 보았습니다. –
나는 (getch()! = EOF)를 사용함으로써, 사용자가 ctrl + Z를 누를 때 종료 될 것이라고 생각했다. – T4000