c언어 아스키코드 문자 오류
안녕하세요. 제가 c언어 문제를 풀었는데요. 이 문제가 visual studio 2013 상에서 문제가 있는지는 모르겠지만 오류가 납니다.
문제
프로그램 사용자로부터 알파벳 문자 하나를 입력 받는다. 그리고 이에 해당하는 아스키 코드 값을 출력하는 프로그램을 작성해보자. 예를 들어서 프로그램 사용자가 문자 A를 입력하면 정수 65를 출력해야 한다.
제가 작성한 소스
#include
#include
#pragma warning(disable:4996)
int main()
{
char input;
printf("문자 입력 : ");
scanf_s("%c", &input);
printf("값 : %d\n", input);
Sleep(6700);
return 0;
}
저기 위에 #pragma warning(disable:4996) 이라는 구문은 구글에서 이와 비슷한 문제를 찾아보다가 블로그에서 소스에 저걸 작성했길래 저도 저걸 추가해야하는지 해서 추가해봤는데 다를게 없네요. 저게 대체 뭔가요??
책의 소스
#include
#include
int main(void)
{
char ch;
printf("아스키 문자 입력: ");
scanf_s("%c", &ch);
printf("아스키 코드 값: %d \n", ch);
Sleep(5000);
getchar();
return 0;
}
getchar()과 Sleep구문은 제가 넣은겁니당.
어떤분은 visual studio 2013 인코딩을 해야한다는데... 잘 모르겠네요.. 알려주세요!
#pragma
의 직접적인 의미는 4996번에 해당하는 경고를 표시하지 말라는 뜻입니다.
쉽게 풀어쓰면 해당 프로그램을 컴파일할 때, 특정 경고 메시지를 표시하지 말라는 뜻입니다. 이미 알고 사용하고 있으니 표시하지 말라는 뜻입니다.
해당 예제 소스에서는 scanf_s 사용과 연관이 있었던 것으로 보입니다. 아마 원본 소스에서는 scanf 함수를 사용했을 것 같네요.
윈도우즈 Visual Studio 2005(?) 이상 버전 에서는 scanf 사용시 해당 경고가 나타나는 것 같습니다.
테스트는 못해봤습니다. 다음 코드를 참조해보세요.
를
로 바꿔보세요.
그리고 만약 컴파일 혹은 프로그램 실행시 오류가 발생하면 오류 메시지를 같이 올려주시면 다른분들의 도움을 받기가 쉬워집니다.
출처 : http://alisa2304.tistory.com/106
---------------------------------
제일 왼쪽이 저입니다 :)
되요!! ㅎㅎ 감사합니다ㅎ 그런데 음 printf
되요!! ㅎㅎ 감사합니다ㅎ
그런데 음 printf 함수를 사용해서 출력을 했을때는 바로 닫혀버려서 getchar()구문을 넣었는데요. scanf 함수로 입력을 받는게 하나라도 있으면 getchar()함수가 말을 듣지 않고 바로 출력 창이 닫혀버립니다. Sleep 함수?를 사용하는 방법외에 다른 방법은 없을까요? 너무 불편하네요
-----------------------------------------------------------------------------------------------------
'Python'
멈추는 방법
해당 프로젝트 설정창에서 링커 옵션 부분에 서브시스템에 콘솔을 추가하시면 됩니다.
#include 였나..
#include 였나.. windows.h였나..
하시고
system("pause");는 어떨까요
멈추는 방법
비주얼 스튜디오 설정에서
답변
멈추는 건 이거 참고하세요.
http://blog.naver.com/rbfwmqwntm/30156029688
저는 이렇게 생각했습니다.
댓글 달기