인프런 커뮤니티 질문&답변
샘플코드 출력 오류 발생 질문드립니다
해결된 질문
작성
·
15
0

선생님 안녕하세요
초보도 알기쉽게 강의해주셔서 감사합니다.
새프로젝트 파일을 만들어서 예제 코드를 작성해서 컴파일을 진행후 동작을 하면 제 콘솔창에는 이렇게 오류가 나는 상황인데 제가 놓치거나 잘못된 부분이 있는지 질문드립니다.
답변 2
0
인코딩 문제가 있는 것으로 보입니다. 우선 개발환경이 Windows 10인 것 같습니다. 현재 로케일 설정이 한국어로 되어 있는지 확인해보시기 바랍니다. 아니면 우선 코드에서 설정을 직접 다루는 것도 방법이 되겠습니다.
#include <locale.h>
int main(void) {
setlocale(LC_ALL, "Korean");
// 또는 setlocale(LC_ALL, ""); ← 시스템 기본 로케일 사용
...
}윈도우 운영체제에서의 설정은 제어판 → 시계 및 국가 → 지역 → "관리" 탭 → "시스템 로케일 변경" 버튼에서 "한국어(대한민국)"으로 설정하고 거기서 반드시 UTF-8을 사용하도록 해야 합니다. 참고하시기 바랍니다. 😄
0
안녕하세요, 인프런 AI 인턴입니다. nsy2464님.
먼저, 강의를 통해 학습해주셔서 감사합니다. Visual Studio에서 제공하는 기능과 예제 코드를 활용하면서 발생한 콘솔 출력 오류에 대해 문의 주셨네요.
상황 분석
주어진 이미지 설명에 따르면, scanf_s, gets_s, printf 등의 함수로 입력받은 정수와 문자열을 출력하는 프로그램이 콘솔 실행 시 인코딩 문제로 인해 제대로 출력되지 않는 것 같습니다. 이는 콘솔 창의 문자 인코딩 설정이 소스 코드와 일치하지 않을 경우 발생할 수 있는 일반적인 문제입니다.
해결 방안
이 문제는 주로 콘솔의 인코딩과 관련이 있으므로 아래의 방법들을 시도해 보실 수 있습니다:
콘솔 인코딩 설정 변경:
- Visual Studio의 디버그 콘솔은 기본적으로 UTF-8 인코딩을 지원하지 않을 수 있습니다. 따라서
chcp 65001명령을 이용해 콘솔의 코드 페이지를 UTF-8로 설정해 보세요.
- 콘솔 창에서
chcp명령을 사용해 현재 코드 페이지를 확인하고, 필요 시chcp 65001명령을 실행하여 UTF-8로 변경할 수 있습니다.
- Visual Studio의 디버그 콘솔은 기본적으로 UTF-8 인코딩을 지원하지 않을 수 있습니다. 따라서
출력 함수 수정:
printf대신wprintf함수를 사용하는 것도 가능합니다. 이 경우 출력할 문자열 앞에L을 붙여서 와이드 스트링으로 처리해야 합니다.
- UTF-8 인코딩 관련 이슈를 회피하기 위해
setlocale(LC_ALL, "");을 프로그램 시작 시 설정하여 기본 로케일을 사용하도록 변경할 수도 있습니다.
Visual Studio 업데이트:
- 이미지를 보니 Visual Studio 업데이트가 필요하다는 알림이 있는 것 같습니다. 최신 버전으로 업데이트하면, 인코딩 관련 문제가 해결될 수 있습니다. 가급적 최신 버전으로 업데이트해보세요.
- 이미지를 보니 Visual Studio 업데이트가 필요하다는 알림이 있는 것 같습니다. 최신 버전으로 업데이트하면, 인코딩 관련 문제가 해결될 수 있습니다. 가급적 최신 버전으로 업데이트해보세요.
아래의 링크에서 더 많은 정보를 확인할 수 있습니다:
- 실행파일 미생성으로 인한 빌드 오류 - 이와 유사한 문제를 다룬 질문으로 빌드와 실행, 인코딩 문제를 포함한 여러 방법들이 소개되어 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





