본문 바로가기

한국으로74

strcmp() int strcmp (const char * s1, const char * s2) { for(; *s1 == *s2; ++s1, ++s2) if(*s1 == 0) return 0; return *(unsigned char *)s1 2018. 7. 7.
Visual Studio에서 scanf 오류를 해결하는 방법 Visual Studio에서 scanf 오류를 해결하는 방법프로그램을 실행 시 입력값을 scanf 함수로 받을 때, 비주얼 스튜디오는 scanf_s 함수 사용을 권장하며 오류 메세지를 띄울 수 있습니다.scanf 함수는 버퍼 오버플로우라는 취약점이 존재하기 때문에 컴파일러가 반강제적으로 이 함수의 호출을 막는 것입니다. 참고로 버퍼 오버플로우(Buffer Overflow)는 입력값의 크기가 버퍼 사이즈보다 커서 입력값을 버퍼에 다 담지 못할 때 문제가 되는 취약점을 뜻합니다. 버퍼 오버플로우가 발생할 경우, 메모리 상에서 버퍼를 초과하는 부분이 덮어씌여지기 때문에 버퍼 이후의 메모리값이 바뀌게 됩니다. 어쨋든 메모리 관리를 잘 할 자신이 있다면 scanf 함수를 써서 입력을 받으면 되는데, 다음과 같은 .. 2018. 7. 7.
Visual Studio에서 input.txt로 입력 리다이렉션하는 방법 Visual Studio에서 input.txt로 입력 리다이렉션하는 방법프로그램을 만들 때나 알고리즘 문제를 풀 때 긴 입력값을 받아야할 때가 있습니다. 입력값을 손수 치는 것보다 빠르게 입력할 수 있도록 입력 리다이렉션하는 방법에 대해서 알아봅니다. 1. 소스 파일을 우클릭하고 [추가] - [새 항목]을 선택합니다. 2. 이름을 ['파일명'.txt]로 지정하고 [추가] 해줍니다. 3. ['파일명'.txt] 파일이 생겼습니다. 4. 이제 프로젝트를 우클릭하고 [속성]을 클릭합니다. 5. 왼쪽 [구성 속성]에서 [디버깅]을 선택한 뒤, [명령 인수]에 [ 2018. 7. 6.
Visual Studio에서 컴파일 후 콘솔 창 유지하는 방법 Visual Studio에서 컴파일 후 콘솔 창 유지하는 방법Visual Studio에서는 Ctrl + F5 키를 이용해 컴파일 후 프로그램을 실행할 수 있습니다. 이 때 명령 프롬프트 창이 실행되고 창에서 프로그램의 결과값을 확인할 수 있습니다. 그런데 프로그램이 종료될 때 이 콘솔 창이 사라지게 되면 프로그램의 결과값을 확인할 수 없게 됩니다. 이렇게 프로그램의 결과값을 확인할 수 없는 문제를 해결하기 위해서 콘솔 창을 유지시키는 방법에 대해 알아봅니다. 1. 프로젝트를 [우클릭]한 뒤 [속성]을 클릭합니다. 2. 왼쪽의 [구성 속성] - [링커]에서 [시스템]을 클릭하고 [하위 시스템] 에서 [콘솔(/SUBSYSTEM:CONSOLE)]을 선택합니다. 3. 이제 [Ctrl + F5]를 눌러 크로그램을.. 2018. 7. 6.