반응형

VScode에서 C & C++ 코드 실행 시 한글 깨지는 현상을 해결하는 방법에 대한 기본적인 VScode 설정은 아래를 먼저 참고해 보세요.    그리고  그 방법 이 외에 코드를 작성할 때 방지하는 코드 라인을 작성하는 방법에 대해 소개하려 해요. 

 

#include <windows.h>
 
#pragma execution_character_set("utf-8")
 
    SetConsoleOutputCP(65001);

위,  3개의 라인을 추가하면 되는데요,  아래 예시 코드를 참고해 보세요.

#include <iostream>
#include <windows.h>
using namespace std;
 
#pragma execution_character_set("utf-8")
 
int main(){
    SetConsoleOutputCP(65001);
    int a;
    int b;
    int c;
 
    cin >> a;
    cin >> b;
 
    cout << "입력 a: " << a << endl;
    cout << "입력 b: " << b << endl;
    cout << "결과 c: " << a+b << endl;
    return 0;
}

그리고 결과를 실행해 보면,  아래처럼 한글 깨짐 없이 잘 출력되는 것을 볼 수 있습니다. 

 

반응형
반응형

 VS-Code 】  VS code 한글 폰트 깨짐 문제 해결 (How to fix Korean font broken problem in VScode)

안녕하세요~
  VScode를 사용할 때, 한글을 코드에 입력하고 출력하게 될 경우, 터미널(Terminal) 창 혹은 코드 작성 창 등에서 한글이 깨져 출력되는 경우가 발생하는데요,  이 문제를 해결하는 방법에 대해 다루겠습니다.

 우선, VScode에서 한글이 깨지는 경우는 주로 코드 내에 입력되는 한글이 깨지는 경우와 결과 입출력을 위한 터미널 및 Output 영역의 한글 출력이 깨지는 경우로 볼 수 있습니다. 
 예를들어,  한글이 입력된 코드를 컴파일하고 실행해보면, 아래와 같은 한글 폰트 깨짐 현상이 발생합니다.

VScode에서 터미널창으로 결과 출력시(실행) 한글 폰트가 깨져 출력되는 현상

VScode에서 터미널 창으로 결과 출력 시(실행) 한글 폰트가 깨져 출력되는 현상입니다.
문제 해결을 위한 첫 번째 방법으로는, VScode는 기본(default) 언어 설정이 UTF-8로 되어 있는데요, 이 설정을 한글 코드(EUC-KR)로 바꾸어 주면 됩니다.

위, 이미지에서 UTF-8 부분을 더블 클릭하게 되면,  화면 상단에 뜨는 Reopen with Encoding을 클릭하세요.
나타나는 목록을 아래로 스크롤 해보면 Korean (EUC-KR)이 보이는데, 이것을 선택해 주면 됩니다.

그러면 아래처럼, VScode 프로그램의 화면 하단 파란색 작업 표시 영역에,  조금 전 ‘UTF-8’이 ‘EUC-KR’로 바뀐 것을 볼 수 있습니다.

 

그런데, 문제는 아래 이미지 처럼, 코드 부분이 오히려 깨져 보이는데요,


당황하지는 마세요. 실제 깨진 것은 아니어서, Ctrl+Z키를 한 번 눌러주면 정상적으로 잘 보입니다. 

그리고 실행(Ctrl+R)시켜 보면, 터미널 창에도 한글이 깨지지 않고 잘 표시되는 것을 볼 수 있습니다. 

우선, 다시 원래대로 돌려 놓고 다음 설명을 이어갈게요. 
방금 설정한 방법은 작성하고 있는 C 코드 파일별로 설정이 가능한 방법인데요,
그 말은, 한글이 사용되는 파일마다 설정을 해야 해서 매우 불편하다는 말입니다.
그래서,  자동으로 언어 코드를 감지해서 한글이면 EUC-KR 모드로 바꾸어 주는 설정을 해볼게요.

먼저, 아래 이미지처럼, 직접 톱니바퀴 모양의 설정 버튼 혹은, 메뉴에서 설정 Settings (Ctrl + , ) 메뉴를 클릭합니다.

이어서 뜨는 설정 검색창에 검색창에  encoding 으로 검색합니다. 

그리고, 아래 이미지 표시 부분의 Files: Encoding 부분은 디폴트 Encoding 값을 정해주는 부분입니다. 

그런데, 이부분의 디폴트 Encoding 값은 ‘UTF-8’ 그대로 두도록 하겠습니다. 
그리고 아래 처럼,  ‘Auto Guess Encoding’ 부분을 체크해 주면 되는데요.  한글이 사용이 안 된 코드 파일은 디폴트 인코딩 값인 UTF-8로 처리함으로써 문제가 없도록 하고,  만약, 한글이든 기타 언어가 감지되면 해당 언어의 인코딩 설정이 자동으로 적용되도록 하는 옵션입니다. 

Auto Guess Encoding 부분을 체크해주세요.

아래 이미지는 ‘Auto Guess Encoding’ 부분을 체크 후,  한글이 없는 파일은 VScode의 파란색 작업표시줄에 보면, 기본 UTF-8로 설정이 되어 있는 것을 알 수 있고요, 


아래 이미지처럼, 한글이 포함된 코드를 작성하게 되면, 자동으로 언어를 감지하여, EUC-KR이 선택되도록 하여, 
코드 내용이 깨지지 않도록 하고 있습니다. 

 

 

 

② 한글 깨짐 해결 방법 2


그리고,  또 한가지 VScode에서의 인코딩 설정 방법 외에, 윈도 10에서 제공하는 기능을 통해 한글이 깨지지 않게 출력되도록 해 볼게요. 
 윈도 검색창에서 제어판을 검색 후 실행합니다. 


아래 이미지처럼, 제어판의 보기 기준을 화면처럼 범주로 바꾸어 줍니다.


그리고, 아래처럼, 시계 및 국가를 클릭하세요. 

그리고 이어서,  그리고, 국가 또는 지역을 선택합니다. 


이어서, 아래 이미지처럼 나타나는 창에서,  관리자 옵션 탭을 선택하세요. 


그리고, 시스템 로캘 변경(C)을 선택하세요. 


마지막으로, 아래처럼, Beta : 세계 언어 지원을... 부분을 체크하고 확인을 누르세요. 


이어서, 재부팅하라는 메시지가 나오면 작업 중인 창들을 모두 저장 후 종료하고 재부팅합니다.

재부팅 후,  다시 VScode를 실행시켜 확인해 보겠습니다. 
코드 작성 영역에는 한글이 잘 나오고 있고, 코드를 실행시켜 터미널 영역의 한글을 확인해 보면 되는데요, 
아래 이미지처럼, UTF-8이 디폴트로 되어 있으면서, 한글 출력도 깨지지 않고 잘 표시됩니다. 


끝으로, 시계 및 국가 ( 》국가 또는 지역 ) 메뉴는 제어판으로 들어오면 바로 찾을 수 있지만,  윈도 시작 메뉴에 있는 톱니 모양의 설정을 클릭하면 찾기가 쉽지 않은데요. 

그런데, 조금 복잡하게 찾아야 하지만, 설정 역시  "Beta : 세계 언어 지원을..." 메뉴를 찾을 수 있습니다.
아래가 전체 경로 입니다. 
Windows 설정 :  시간 및 언어 》 날짜, 시간 및 사용지역 언어 》 추가 날짜, 시간 및 지역설정  》 국가 또는 지역

 


아래 이미지에서 처럼, 날짜, 시간 및 사용지역 언어 를 선택하세요.

그리고 이어지는 창에서, 아래처럼, 추가 날짜, 시간 및 지역 설정 부분을 클릭하세요.

그럼, 역시 제어판 메뉴를 통해 접근했던 국가 또는 지역 선택 메뉴가 나타나는 것을 볼 수 있습니다.

마찬가지로, 지역설정 팝업 메뉴에 있는, Beta : 세계 언어 지원을... 부분을 체크하고 확인을 누른 후 재부팅하면, 
VScode에서의 한글 사용은 깨짐 없이 사용할 수 있게 됩니다. 

 

▶ 동영상으로 VScode에서 한글 코드 깨짐문제 해결하는 법 확인하기!

 

그럼, 오늘 하루도 즐거운 코딩되세요~ ^^&


반응형
반응형

&amp;nbsp;

VS-Code 】  VS code처음 사용 설명서, C/C++ & Python 멀티 코딩 환경 세팅하기! (코드러너, 디버깅 기능 사용)

  VScode는 가벼우면서도, 여러 가지 멀티 언어로 사용목적에 맞게 커스터마이징이 가능한 강력한 코딩 툴입니다.  
하지만, 이런 장점이 이제 코딩을 처음 배우려는 사람들에게는 처음부터 이것저것 알아서 설정해야 한다는 점이 매우 어렵게 느껴집니다. 
  따라서, 아예 PC를 밀고 처음 설치하는 입장에서 설치부터 초기 세팅과 디버깅, 한글 폰트 깨짐 문제 해결하고, 유용한 확장팩 등을 상세히 설명해 드립니다.
아울러,  C/C++와 파이썬 같은 두 가지 이상의 언어를 함께 코딩할 수 있는 설정에 대해서도 다루고 있습니다.
VScode는 이 번 게시글에 나오는 내용만 익히게 되면, 스스로 코딩 학습을 시작할 수 있도록 가장 필요한 내용들로 구성했습니다. 

되도록 상세하게 설명드리려 노력하다 보니,  게시글 내용이 깁니다. 
하지만,  차근 차근 따라 해 보시면, 어렵지 않게 실습 내용을 모두 소화하실 수 있을 것으로 생각됩니다.  ^^&

《 실습 목차 》

※ 본 게시글의 모든 이미지는 클릭 시 크고 선명한 이미지로 볼 수 있습니다.

《 1.  VScode 설치 》

 VS-Code는 하나의 언어에 타깃이 되어 있지 않기 때문에,  설치하고자 하는 언어별로 구성요소를 다운로드하여 셋업 해 주어야 합니다.
 그래서, 각각의 언어에 맞는 툴의 환경을 서로 섞이지 않게 세팅하여 사용할 수 있습니다.

최근, 목적에 따라 여러 가지 언어를 동시에 활용하는 경우가 많아졌는데요, 여기서는 C/C++ 컴파일러와,  Python 인터프리터를 함께 VScode에서 사용할 수 있도록 진행합니다.   혹시 다른 언어가 필요하다면,  우선 설명드리는 언어로 따라 해 보고 필요한 언어에 대해 적용해 보면 충분히 설정할 수 있을 것으로 생각됩니다. 

 먼저,  구글 검색창에서 "VScode"로 검색하세요. 
검색된 VScode 공식 사이트에서, 아래와 같은 VScode 최신버전을 다운로드하세요.  
여기서는 윈도 환경에서 설치하는 것을 보여드리기 때문에 Windows용으로 다운로드하겠습니다.

다운로드한 설치 파일을 클릭하여 설치를 진행합니다

 

 아래, 설치과정에서 ✔ PATH에 추가 부분을 꼭 체크해 주세요.   그리고 다음을 눌러 설치를 마무리해  주세요.

 

설치 완료 후,  VScode가 실행되면,  아래와 같은 한글 언어팩을 설치하라는 안내가 뜨는데,  클릭해서 설치해보면,  VScode의 모든 메뉴가 한글로 변환되어 제공됩니다. 

 메뉴의 모든 영문이 한글로 바뀌었습니다. 

 아래 이미지 처럼,  Extensions 마켓으로 가보면 방금 설치한 한글 언어팩을 확인할 수 있으며, 
제거를 누르면 다시 영문 메뉴로 사용할 수 있습니다.

우선, 제거를 누르고 VScode를 재실행 시킬게요. 
재실행 후에는 다시 영문모드로 열리게 됩니다
개인적으로는 처음 배울 때부터 영문 메뉴로 익히는 걸 추천합니다.  다른 이유도 있지만,  문제 해결을 위해 많이 살펴보게 되는 Stack Overflow(영문) 글을 참고할 때도 도움이 많이 되기 때문입니다.

그럼, 우선 C/C++ 인텔리센스 패키지를 VScode에 설치해 보겠습니다
(※ Intellisense Pakage : 해당 언어의 자동완성 기능 및 디버깅 등을 지원하는 확장 패키지)

필요한 확장 패키지를 검색창에서 검색하여 찾을 수 있습니다.

아래, 노란색 사각형 표시부분을 보세요,  이 부분을 통해 설치하려는 패키지에 대한 설명이나, 사용법 예시를 참고할 수 있습니다.

(아래) VS-Code 웹페이지에서도 주요 확장 패키지를 설치할 수 있습니다.

 

 그럼, 이제  C/C++ 컴파일러로 가장 많이 활용되는 gcc 컴파일러를 윈도에서 사용할 수 있게 해주는 MinGW라는 프로그램을 설치해 보겠습니다. 

 아래 구글에서 MinGW를 검색해서 Source Forge 사이트를 클릭하여 여세요. 

"이미지를 클릭하면 확대 됩니다"

  그럼, Download 버튼을 눌러 프로그램을 받아 설치해 보겠습니다.

MinGW 설치 1
MinGW 설치 2
MinGW 설치 3
MinGW 설치 4

 최종적으로 사각 박스 부분이 아래처럼 4곳이 체크 되어 있어야 합니다.  첫 번째 사각 박스를 체크하면, 제일 아래에 있는 사각 박스(msys-base)는 자동으로 체크됩니다.

MinGW 설치 5

   (아래) 체크 후, Installation의 Apply Changes를 클릭합니다.

MinGW 설치 6
MinGW 설치 7

  Apply를 클릭하면,  설치가 진행되며,  모두 설치되면, 아래처럼,  마무리됩니다.   (Close를 클릭하세요 )

MinGW 설치 8

  설치 완료되었다면, 창들을 모두 닫아도 됩니다.
(※ 만약,  MinGW를 삭제하려면,  다시 여기까지 진행한 다음,  위에 설치한 항목을 클릭하여 제거해야,  깔끔하게 삭제할 수 있습니다.)

 MinGW 설치 후에는,  윈도의 시스템 환경 변수 등록 부분에서 Path 경로를 추가해 주어야 합니다. 

시스템 환경 변수 편집(MinGW Path 경로 추가) 1

 

시스템 환경 변수 편집을 실행시키고    고급    환경변수(N)  시스템 변수 항목의 Path를 클릭! 》  편집 클릭!

시스템 환경 변수 편집(MinGW Path 경로 추가) 2

새로 만들기를 눌러 경로 C:\MinGW\bin를 입력해 주세요.

시스템 환경 변수 편집(MinGW Path 경로 추가) 3

  확인을 누르고 VS-Code를 재실행하거나 Path 경로 적용을 위해 PC를 재부팅하는 것이 좋습니다.

 재부팅 후,  VScode를 다시 실행시켜 주세요. 
그리고, 'CMD 명령프롬프트'를 열어 gcc 컴파일러의 경로 설정이 제대로 되었는지? 확인해 볼게요.

gcc -v   그리고   g++ -v  입력해서 버전 확인이 되는지? 보세요.
( 또는 gcc --version  ,   g++ --version )

만약 버전 체크가 되지 않는다면, MinGW 설치 혹은 환경변수 경로 설정을 다시 확인해 보세요.

 

 3. VScode 설정

그럼, VScode 설치 후 초기 설정 방법에 대해 설명드리고,  아울러, C언어와 Python 두 가지 언어를 섞이지 않게 사용하는 방법으로 설명드립니다.

아래 이미지처럼, 폴더를 만들어 주세요.  
예시)  Language 폴더 아래 C_Lang 폴더와 Python 폴더를 만듭니다

VScode 설정 1

Open Folder를 선택합니다.  (Open Folder는 File메뉴에서도 선택할 수 있습니다. )

VScode 설정 2

Open 폴더를 클릭하여  C_Lang 폴더를 선택합니다.

VScode 설정 3

 

 처음 폴더를 선택하게 되면, 아래처럼, 폴더 신뢰를 묻는 창이 뜨는데,  신뢰에 체크하고,   Yes...를 클릭하세요.

  그럼, C_Lang 폴더 아래에 테스트 파일을 만들어 실행시켜 보겠습니다.
파일명은 hello.c로 할게요.

VScode 설정 4

 

VScode 창 우측 아래에 있는 작업표시줄을 보세요.  테스트 파일을 만들 때, 파일 확장자를 .c로 만드는 순간 C언어 모드로 자동 변경됩니다.

&amp;nbsp; &amp;nbsp; VScode 설정 5

처음, VScode를 설치하고서, 글자를 입력해보니 폰트 크기가 너무 작아 보이네요.
그럼, 기본 폰트 크기를 바꾸어 볼게요. 
File 》 Preference 》 Setting , 클릭합니다.


그리고,  User > Text Editor > Font ,  Font Size 항목에 기본 크기를 정할 수 있습니다.

&amp;nbsp;

원하는 폰트 크리고 수정하고,  저장합니다.

그럼, 아래와 같은 간단한 출력 코드를 작성하고 빌드&실행을 위한 tasks.json 파일을 만들어 볼게요.

#include <stdio.h>

int main()
{
    printf("Hello World!\n");
    printf("Hello RasIno!!!\n");
    return 0;
}


코드 작성 후,  아래 이미지처럼,  메뉴에서 Terminal 》 Compare Default Build Task... , 클릭합니다.


그리고, 화면 가운데 위에 나타난 메뉴를 클릭하세요. ( C/C++의 기본 테스크 빌더로 gcc.exe를 선택합니다.)


그럼, 아래 이미지처럼 기본 내용이 들어간 tasks.json 파일이 만들어집니다.

tasks.json 파일을 간단히 설명드리면, 빌드 명령어를 직접 커맨드 창을 통해 여러 단계로 입력해야 하는 것을 대신해서, 배치 파일처럼, 하나의 파일로 만들어 단축키로 간단히 실행시켜 주는 기능으로 생각할 수 있습니다. 
 그럼, 기본 tasks 내용을 지우고, 아래 링크해 드리는 내용으로 복붙복 하세요.

C/C++ 코딩용 tasks.json 파일

{
    "version": "2.0.0",
    "runner": "terminal",
    "type": "shell",
    "echoCommand": true,
    "presentation": {
        "reveal": "always"
    },
    "tasks": [
        {
            "label": "save and compile for C++",
            "command": "g++",
            "args": [
                "${file}",
                "-g",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": "build",
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        {
            "label": "save and compile for C",
            "command": "gcc",
            "args": [
                "${file}",
                "-g",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": "build",
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        {
            "label": "execute",
            "command": "cmd",
            "group": "test",
            "args": [
                "/C",
                "${fileDirname}\\${fileBasenameNoExtension}"
            ]
        },
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe 활성 파일 빌드",
            "command": "C:\\MinGW\\bin\\gcc.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "디버거에서 생성된 작업입니다."
        }
    ]
}

위,  tasks.json 파일 다운로드 받기 (압축되어 있음).

C_Cpp용 tasks.json파일.zip
0.00MB

tasks.json 파일은 C언어, Python 언어 등 각각 설정해서 사용하게 됩니다. 
현재의 json 파일 내용에는 gcc 및 g++컴파일러에 대한 빌드와 실행에 대한 내용이 있으며, 이를 단축키로 지정해서 사용할 수 있도록 하는 부분을 진행하고 있습니다.

설정 기어 클릭 》 Keyboard Shortcuts , 클릭합니다.
여기에는 기본 설정된 단축키(Short cut)를 확인할 수 있습니다.

이 단축키 값 외에 사용자 정의 단축키를 여기서 직접 편집하거나 추가할 수 있는데,  여기 Shortcuts 버튼을 눌러  json 파일로 추가해 줄 수도 있습니다.

다음으로,  사용자 단축키를 지정해 주기 위해,  아래에 보이는 키 바인딩 값으로 추가해 주세요. 

[
    // 컴파일
    {
        "key": "ctrl+alt+c",
        "command": "workbench.action.tasks.build"
    },
    // 실행
    {
        "key": "ctrl+alt+r",
        "command": "workbench.action.tasks.test"
    }
]

그리고 저장합니다.
(아래 이미지)  Shortcuts 화면으로 넘어가서 'ctrl+alt'를 입력해보면, user 키로 등록된 것을 볼 수 있습니다.

그럼, hello.c 파일로 가서 등록한 단축키가 잘 작동되는지 볼게요.
지금, Ctrl + Alt + C 키를 누르세요!

네, 빌드 단축키가 즉각적으로 반응하는데요,  소스코드에 따라 C 또는 C++ 컴파일러를 선택해 주면 됩니다.


그럼, 터미널 창으로 소스코드가 빌드되는 것을 볼 수 있습니다. (아래)

 

그리고, Ctrl+Alt+R 실행 단축키를 눌러 excute가 나타나면 엔터키 또는 클릭해주면, 
터미널 창으로 결과가 출력되는 것을 볼 수 있습니다


그럼, 이제 C++ 파일도 간단히 작성해서 컴파일&실행 테스트해 볼게요.
새 파일을 클릭하고 파일 이름을 hellocpp.cpp로 합니다.

(아래) 파일 확장자를 .cpp로 만드는 순간 C++ 언어 모드로 자동 변경됩니다.

그럼, 아래처럼,  간단한 코드를 작성해 보세요. 

#include <iostream>
using namespace std;

int main()
{
    cout << "Welcome C++" << endl;
    return 0;
}

 간단한 출력문을 작성했으니, 단축키(Ctrl+Alt+C)로 빌드해볼게요.
C/C++ 작업에서 단축키는 이미 json파일로 숏컷 등록하였으니, 단축키(Ctrl+Alt+C)를 눌러보세요.
그럼, 아래와 같은 선택 메뉴가 나타나고, 이때  "Save and Compile for C++"을 선택하세요.

그럼, 아래처럼, 코드가 빌드되는 것을 볼 수 있습니다. 

 

컴파일이 완료되고, 실행키(Ctrl+Alt+R)를 눌러주면 터미널 창으로 결과를 볼 수 있습니다.(아래)

왼쪽 Explorer영역에 마우스 우클릭 팝업 메뉴에서,  Reveal in File Explorer를 클릭하면 현재의 위치를 바로 탐색 창으로 열 수 있습니다. 

 

다음으로 VS-Code를 처음 설치할 때, 한글 폰트가 깨져 출력되는 문제가 생기는데요.
이 문제를 처리해 볼게요.  

(아래)  그럼, 아래와 처럼,  C언어 코드에 한글 문장 출력문 한 줄을 추가해 보세요.

 컴파일과 실행을 시켜봅니다.  컴파일러는 C를 선택해 주세요.


그리고 실행(Ctrl+Alt+R)을 누르세요. 
그럼, (아래) 이렇게 한글 폰트가 깨져 출력되는데요, 

인코딩 언어가 유니코드(utf-8)로 되어 있는 것을 EUC-KR로 바꾸어야 합니다.

위 이미지의 UTF-8 부분을 클릭하면,  화면 상단에 나타나는 Reopen with Encoding이 나타나는데, 이 것을 클릭합니다.

그럼, 아래와 같은 선택 메뉴가 나타납니다. 

 그러면, 아래로 스크롤해보거나, EUC-KR로 검색해서 Korean [EUC-KR]을 선택하세요.

그런데, EUC-KR이 적용되는 과정에서,  이상하게,  아래 이미지처럼, 출력이 아니라 코드 입력 부분에,  한글 글꼴이 깨져 보이게 됩니다.   

별문제는 아니고, Ctrl+Z키를 눌러주면 제대로 표시됩니다. 

네, 한글이 깨지지 않고 잘 출력됩니다.

 그럼, 다시 컴파일과 실행을 시켜봅시다. 
(아래) 지금, Ctrl + Alt + C 키를 눌러 컴파일(빌드) 하고, 


아래 이미지처럼, Ctrl + Alt + R 키를 눌러 실행시켜 보세요. 

 그럼, (아래) 이렇게 한글 문장이 깨지지 않고 터미널로 잘 출력되는 것을 볼 수 있습니다. 

 

 

  VScode는 디버깅 메뉴는 있지만,  디버거는 설치되어 있지 않기 때문에, 그냥 실행하면 에러가 나고 디버깅이 되지 않습니다.

디버깅 메뉴

따라서, 디버깅을 위해 많이 사용하는 코드 러너를 확장 마켓에서 검색하여 설치해 볼게요. 

검색창에 Code runner 를 입력하여 검색하세요

검색된 코드러너를 선택하고,  Install을 눌러 설치합니다.

 

Code Runner를 설치하면 원클릭 빌드+실행 버튼이 추가가 되어 사용하기 편합니다.
'▷'버튼은 C/C++ 뿐 아니라 Python, Java 등 여러 Prog. 언어에서도 함께 사용할 수 있습니다.

그럼, Run 버튼을 눌러보세요.
[ ※ 'Run Code'는 마우스 우클릭 팝업 메뉴(또는 단축키)에서도 사용 가능합니다 ]

이렇게 OUTPUT 창으로 결과가 출력되는 것을 볼 수 있습니다.
그래서,  버튼 하나로 (빌드+실행)을 한 번에 실행시킬 수 있습니다.
그런데, 한글이 깨져 출력되는데요, 공개된 방법으로 시도해 봤지만 해결이 안 되고, 터미널 창으로 출력을 하면 되니 
여기서는, 넘어가겠습니다.
그것보다 큰 문제는 Code Runner는 결과 출력 default가 OUTPUT으로 되어 있는데,   OUTPUT 창으로는 scanf와 같은 함수로 값 입력을 못한다는 문제가 생깁니다. 
이를 해결하기 위해 기본 출력을 Terminal로 변경해보겠습니다.  더불어 (Terminal 창으로는)
한글도 깨지지 않게 출력할 수 있습니다.

VScode에서는 옵션 설정이 굉장히 많고 복잡하여 변경을 원하는 옵션을 찾기 쉽지 않은데요,  좀 더 쉽게 찾는 방법은,  (아래 이미지) 설치한 툴마다 기어 모양의 설정 버튼이 보이며, 이걸 클릭하면 그 툴에 관련된 설정만 보이기 때문에, 원하는 설정 옵션을 찾기 쉬워집니다  (※ 설치된 툴 목록도 검색하면 나타납니다)

코드 러너의 설정 버튼을 클릭해서 나온 팝업 메뉴에서, Extension Settings를 클릭하면,  아래처럼 코드 러너와 관련된 설정만 보입니다. 

그럼, 아래로 스크롤해서, Run In Terminal을 찾아 체크 ✔ 해주세요.  
체크 후에는, 결과 출력이 Terminal 창으로 바뀌며,  Scanf 등에 대한 입력도 가능해집니다 아울러 한글도 깨지지 않고 출력되죠.(아래)

결과 출력화면(터미널)

 

그럼 이제 디버깅 기능을 적용해 보겠습니다.
코드 러너(Code Runner)를 설치하게 되면, 디버깅 기능을 사용할 수 있는데,  코드러너(Code Runner)를 설치하게 되면, 디버깅 기능을 사용할 수 있는데,  설치 후 바로 사용은 안 되며, 몇 가지 설정을 해주어야 사용할 수 있습니다.
우선, 디버깅을 사용할 만한 변수가 들어간 간단한 코드를 작성해 볼게요. (아래의 코드를 입력해 보세요)

#include <stdio.h>

int main()
{
	int a = 10;
	int b = 20;
	int c;
	c = a + b;
	printf("a + b =%d\n", c);
	for (int i=1; i<10; i++) {
		printf("C = %d\n", c-i);
	}
	return 0;
}


그럼, 화면의 코드를 빌드하고 실행해 보겠습니다.

네, 결과가 잘 출력되었는데요,
그럼, 툴 좌측에 있는 디버그 메뉴로 가서 Run and Debug를 눌러보세요.

이어서 나타나는 목록에서,  C++ (GDB/LLDB)를 선택하고(아래 이미지), 

(아래)  이어서 제일 아래에 MinGW를 설치한 경로가 보이는 gcc.exe를 선택해 주세요.


(아래) 그럼 이렇게 launch.json 파일이 생성됩니다.

 

(아래)  만약 이 파일이 열리지 않는다면, 디버그 메뉴에 있는 create a launch.json file을 클릭하세요.

 

launch.json 파일의 위치는 .vscode 폴더 아래에 생성되어 있습니다. 

 

디버깅은 이미 빌드된 실행파일을 단계별로 멈추어가며, 특정 변수에 저장되는 값의 흐름 등을 분석하여 에러를 찾아내거나, 코드 작성에 도움을 주기 위한 도구인데요, 

(아래)  디버깅을 위해서는 화면처럼 줄 번호 사이 공간, 멈추고 싶은 곳에 Break Point를 찍고,  

(아래)  WATCH 항목에 별도로 확인하고 싶은 변수 같은 것을 추가하여 확인할 수 있습니다. 

디버거의 실행은 녹색 ▷ 실행 버튼을 클릭하거나, 'Run' 메뉴에서(F5) 실행할 수 있습니다.


(아래) 이번에는 c-i 값의 변화를 확인하기 위해 for문 속에도 Break Point 찍어 확인해 볼게요.

디버그 버튼이나 F5단축키를 누를 때마다, 다음 Break Point 위치로 멈추어가며 진행됩니다.

 

추가적으로 Debug 관련하여 사용된 Json의 경로 관련 표시 형식에 대해 설명을 드릴게요.
(아래) 지금 보여드리는 메모장의 내용을 참고해 보세요.

이미지를 클릭해보세요(확대)

기본적으로 ${ ... } 과 같은 형식은 파일 이름이나, 폴더 이름처럼 편집하고 있는 대상이 바뀌더라도 대응되도록 처리하기 위한 형식입니다.

###  디버그 파일속의 경로 관련 옵션 설명  ###

${file} : 현재 열려있는 파일

${fileBasename} : 현재 열려있는 파일의 기본 이름

${fileDirname} : 현재 열려있는 파일의 디렉토리 이름

${fileBasenameNoExtension} : 파일 확장명이 없는 현재 열린 파일의 기본 이름

${workspaceFolder} : vscode에서 연 폴더의 경로

${workspaceFolderBasename} : vscode에서 연 폴더의 경로에 위치한 폴더들의 이름

${relativeFile} : workspaceFolder에서 현재 열린 파일

${cwd} : 현재 작업 디렉토리

${lineNumber} : 현재 선택된 행 번호


[ 경로표시 방법 두 가지  : 경로표시에서 '\\' 또는 '/'로 표시하면 동일하게 처리 됩니다. ]
 "C:\\MinGW\\bin\\gdb.exe"
 "C:/MinGW/bin/gdb.exe" 

[ 역슬래시 ' \ ' 는  한글 글꼴에서는 '₩'로 표시 될수 있으며 동일하게 인식, 처리 됩니다 ]
예시,    "C:₩₩MinGW₩₩bin₩₩gdb.exe"

그래서 필요에 따라 직접 폴더 위치나 파일 이름을 지정하여 디버깅할 수도 있습니다. (하지만, 지정하지 않고 모든 파일에 대응되도록 원래대로 놓고 디버깅하면 편합니다.) 
화면처럼, 디버깅할 실행 파일 이름과 같은 DebugC.exe로 바꾸고 수정한 launch.json을 저장합니다.

그리고 디버깅해보면 동일하게 잘 실행되는 것을 볼 수 있습니다.
디버깅 과정에서 에러가 나는 경우의 대부분은 경로나 파일 이름 등이 일치하지 않아 발생하니, 이런 부분을 잘 살펴보면 해결할 수 있습니다.
만약, 지금 화면처럼 디버깅할 파일(exe실행파일) 이름과 다른 이름으로 잘못 지정하게 되면, 아래와 같은 에러를 표시하게 됩니다.  (※ 디버깅은 만들어진 .exe 실행 파일을 가지고 진행됩니다)

그리고, 경로 표시하는 방법에는 \\(역슬래시) 두 개나 /(슬래시) 하나로 표시하게 됩니다.
또한, 한글 글꼴에 따라 ∖(역슬래시)는 ₩으로 표시될 수 있으며,  동일하게 처리되니 참고하세요.


5. WorkSpace File 활용법

 지금까지 C/C++ 언어에 대한 작업 환경을 저장해 줄 수 있는데, Workspace 파일 형식으로 저장하면 됩니다.
저장 위치는 처음 C/C++ 언어 작업용 폴더를 열었던 C_Lang 폴더에 저장하면 됩니다.
이름을 적당히 적고,  확장자는 .code-workspace 이니 주의하세요.

이런 식으로, 코딩하려는 각각의 언어마다 최종적으로 Workspace 파일을 만들어 저장하고, Workspce 파일 열기로 OPEN 하여 사용하게 됩니다.

이렇게 하면, 여러 종류의 프로그래밍 언어를 편집하고 전환할 때 매우 편리하며, 폴더나 환경설정이 엉키거나 리셋되어 재 설정하는 문제를 줄일 수 있습니다.

 

7. Python(파이썬) 설정

그럼 이제, File 》 New Window을 클릭하여 Python에 대해서도 설정해 보겠습니다.

 새로 연, VScode 윈도에서  Python Extension을 설치해 볼게요.
Extension 마켓에서 설치한 Python intellisense는 파이썬 핵심 모듈인 인터프리터가 아니며,  VScode에서 Python을 사용하기 위한 필요 패키지입니다.
따라서 파이썬 인터프리터는 별도로 설치해 주어야 합니다 ( ※ 인터프리터 : C언어의 컴파일러와 같은 역할)

그럼, Extension 마켓에서 Python을 검색하여 파이썬 패키지를 먼저 설치해 볼게요.

(아래)  이 부분이 Uninstall로 바뀌면 설치 완료된 것입니다.

 

그럼, 간단한 파이썬 코드 하나 작성해 볼게요.
(아래) 이름을 적당히 정하고 확장자를 .py로 해주면, 

(아래) python파일로 자동 인식합니다.

 

(아래) 그리고, Python(인터프리터)을 설치하라는 메시지의 Download를 클릭해 보세요.

클릭하면,  Python 공식 다운로드 페이지로 연결되며, 여기에서 설치 파일을 다운로드하면 됩니다.

만약 Download 버튼이 뜨지 않았다면, 직접 Python.org로 접속하면 됩니다.

(아래)  다운로드한 파일을 클릭해서 설치를 시작하세요.

그리고 반드시, PATH 경로 추가 부분을 체크해 주세요.
그런 다음, 아래 붉은색 박스 영역(Install Now)을 클릭하여 설치를 시작하면 됩니다.

(아래)  설치 완료 시점에, 나타나는 경로 길이 제한 항목을 클릭하여 끄도록 할게요.

네, 방금 최신 버전의 파이썬(인터프리터)도 설치했고,  조금 전 VScode에서 파이썬을 사용하기 위한 확장 패키지(extension)도 설치하였습니다. 

 

7. Python 설정

그럼, C/C++ 설정에서와 마찬가지로 파이썬용 tasks.json 파일을 만들어 빌드 단축키(Ctrl+Alt+C)를 사용할 수 있도록 해볼게요.
우선, 테스트를 위한 간단한 출력문을 입력할게요.
print("Hello World~!!!")

 그리고, 빌드 단축키(Run Build task)  Ctrl+Alt+C를 누르거나 메뉴에서 선택해 주세요.

 

(아래) 그럼 화면 가운데 상단에, tasks.json 파일을 만들 수 있는 메시지가 뜨면 클릭하세요.

 

이어서,  (아래) Create tasks.json file from template를 클릭!

 

마지막으로,  (아래)  제일 아래에 있는 Others를 클릭하면, tasks.json 파일이 생성됩니다. 

 

만약, 이 과정에서 클릭을 잘못했거나, task.json 파일을 다시 만들고 싶다면 ,  방금 생성한 tasks.json 파일을 직접 삭제하면 다시 메뉴를 선택해 추가할 수 있습니다. (아래)

tasks.json파일의 위치는 파이썬 폴더 아래 .vscode 폴더 아래에 있습니다.

그럼, tasks.json 파일의 기본 내용을 파이썬 옵션을 추가한 것으로 바꾸어 볼게요.

먼저,  (아래) tasks.json파일에 있던 디폴트 값을 삭제합니다.


아래 내용으로 복사, 붙여 넣기 하세요. 

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Project Label",
            "type": "shell",
            "command": "python",
            "args": [
                "${file}"
            ],
            "presentation": {
                "reveal": "always",
                "panel": "new"
            },
            "options": {
                "env": {
                    "PYTHONIOENCODING": "UTF-8"
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

파이썬용 tasks.json 파일 내용.zip
0.00MB

변경된 내용을 저장하세요 (Ctrl + S).
(아래) 실행은 Run Build Task  또는 단축키 (Ctrl + Alt + C)로 한 번에 실행시킬 수 있습니다.

 

(아래) 실행시켜 보면 화면처럼 잘 출력되는 것을 볼 수 있습니다.

 

그리고, (아래) 이미 앞서,  Code Runner를 설치하였기 때문에 마우스 우클릭 메뉴의 Run Code로도 실행시킬 수 있으며, 

또는 화면 우측 상단의 실행 버튼 ▷으로도 OUTPUT과 Terminal 창 각각으로 실행 가능합니다.

물론, 당연히 Ctrl + Alt + C  키로도 실행시킬 수 있습니다. 
 ( ※ 파이썬은 인터프리터 언어로 코드 전체를 컴파일하지 않고, 한 줄씩 바로 해석하고 처리되기 때문에,  코드 전체를 먼저 빌드 후, 컴파일하는 C/C++ 언어와 달리,  Ctrl + Alt + C 키만으로 결과가 출력됩니다. )

만약, 출력이 제대로 안 되는 경우에는,  MinGW 설치와 환경변수 경로 설정이 제대로 되어 있는지 살펴보세요. 
그런데,  이런 경로 설정에 문제가 없는 경우에도,  (아래) 이 부분이 CMD(Command Prompt)가 디폴트로 되어 있지 않고, PowerShell이 디폴트로 되어 있어 링크가 연결되지 않아 출력되지 않는 경우가 있으니,   
이 부분을 PowerShell → CMD로 바꾸어 보세요.

만약, 터미널 창으로 한글이 깨져 보이는 문제가 있다면,  
 C언어 설정 때와 같이 여기를 클릭하여 UTF-8을 EUC-KR로 변경해 주면 해결됩니다. (아래) 


그리고, 코드 러너가 설치된 상태에서 OUTPUT창으로 python의 한글 출력이 깨지는 경우는,  코드러너의 세팅 옵션 하나를 바꾸면 해결할 수 있습니다. 
코드러너의 세팅 옵션으로 바로 가려면, Extension 마켓에서 이미 설치한 Code Runner를 검색하고,  코드러너의 기어 모양 설정 버튼을 클릭 후 Extension Settings를 클릭하세요. (아래)

(아래) 그럼, 코드러너 관련된 옵션만 볼 수 있어 옵션 찾기가 편해집니다. 아래쪽으로 스크롤해서 원하는 옵션을 찾을 수도 있지만, 지금은 map을 입력하여 바로 찾아볼게요.  

그럼, 아래와 같은, setting.json 파일이 열리며,


  "python" : 부분의 "python -u",를 "set PYTHONIOENCODING=utf8 && python -u", 로 변경하세요. 

변경 후  settings.json을 저장하세요. 
그럼, 파이썬 코드에 한글 출력문을 넣고 OUTPUT창으로 실행시켜 볼게요.

네, 한글이 깨지지 않고 잘 출력되었네요.
터미널쪽으로도 출력해보면, 잘 출력되는 걸 볼 수 있습니다. 

이렇게 해서 Python 코딩을 위한 기본적인 설정을 해봤습니다. 

마지막으로 이렇게 설정된 상태를 파이썬용 workspace 파일로 저장시켜 놓으면, 언제든 설정된 상태 그대로 불러와서 파이썬 코딩을 할 수 있습니다.


이런 기능은 둘 이상의 언어를 자주 교차하여 편집하거나 작성할 때, 매우 유용한 기능입니다.
만약, 이렇게 하지 않고, C언어를 편집하던 VScode에서 파이썬 파일만 직접 불러와 빌드해보면, 빌드가 되지 않거나, 작업환경이 엉킬 수 있어요. 
C/C++ 언어용 workspace 파일은 C/C++언어 폴더에 저장하고,  파이썬용 workspace 파일은 파이썬 폴더에 저장하면 됩니다.
예를 들어, C/C++ 언어를 코딩하고 싶을 때 Open workspace로  C언어용 workspace 파일을 열면 되고,  파이썬 언어를 코딩하고 싶을 때는 Open workspace로  조금 전 저장한 python.code-workspace 파일을 열면 됩니다.

(아래) 물론 VScode의 New Window를 클릭하여 VScode창을 하나 더 실행시켜 각각 편집할 수도 있습니다.

 

 

8. 유용한 확장팩


 VScode에서 사용하면 편리한 Extension 세 가지를 소개해 드리겠습니다. 

1. Rainbow Brackets

Extension 마켓에서 Rainbow brackets을 검색해 설치해 보세요. 
Rainbow brackets은 코드 속 다중 for문의 괄호에 색을 주어 괄호를 구분하기 쉽게 해 줍니다. 

(아래) 현재는 설치하기 전 화면으로 ,  괄호가 모두 흰색으로 통일되어 있지만,

(아래)  설치 후에는,  이렇게 괄호에 색이 입혀 있어, 한눈에 괄호의 범위 파악이 쉬워졌습니다



2. TabOut

두 번째 유용한 Extension으로 TabOut을 소개합니다. 

  코딩 툴에서는 대부분 시작 괄호나 따옴표를 입력하면 닫히는 괄호(따옴표)까지 자동으로 입력해 주는데요,  비주얼 스튜디오2019 같은 경우, 코드 작성 시 Tab키로 닫히는 괄호를 벗어 날 수 있게 해 주어 편리합니다.
하지만, VScode 같은 경우 이런 기능을 기본 제공하지 않아 불편했는데요, 
TabOut이라는 Extension을 설치하면 이 기능을 지원해 줍니다.  
지금 영상에서 보면, Tab을 누르면 탭 간격만 늘어나고,  괄호를 벗어나지 못합니다. 

그럼, TabOut을 설치하기 위해, Extension마켓에서 TabOut으로 검색합니다.
TabOut을 검색할 때, 공백 없이 검색해야 검색됩니다. 

설치하고, 간단한 코드로 테스트해보세요.

네, 테스트해보니, 따옴표와, 괄호를 마우스 사용 없이, 탭으로 빠져나오게 되어,  코드 입력이 편해서 좋습니다.

 

3. Indent Rainbow

 

마지막 세 번째 Extension은 Indent Rainbow입니다.
(아래) 코드 작성에서 들여 쓰기처럼 탭으로 여러 단계로 되었을 때,  특히 위아래 들여쓰기 코드 길이가 길어지면, 해당 코드가 어떤 라인이지 한 번에 파악하기 쉽지 않은데요,

(아래) Indent Rainbow를 설치하면, 들여쓰기 라인을 색으로 구분시켜 주어 파악하기 쉬워집니다.


네 보이는 것처럼, Tab 영역마다 다른 색으로 구분되어 있어 라인 파악이 쉬워졌습니다.

 

【 전체 과정 핵심 요약 】


① Visual Studio Code 다운로드 후  설치 ( 어떠한 컴파일러도 설치 되지 않으며 툴만 설치 되는 것임 )
     https://code.visualstudio.com/ 

②  gcc/g++ 컴파일러 설치
    C언어 또는 CPP작성을 위해,   가장 많이 사용되는 gcc/g++ 컴파일러를 윈도우에서 사용할 수 있게 해주는 툴인 Mingw-w64를  설치함.
    다운로드 ( https://sourceforge.net/projects/mingw/ )

③ 윈도우의 시스템 환경변수 path 부분에 조금전 설치한 MinGW의 경로를 추가해 줌 (중요!)
     윈도우 시작메뉴 검색창 →  '시스템 환경 변수 편집' 검색 → '고급' 탭 클릭!  →  '환경 변수(N)' 클릭! → '시스템 변수(S)' 항목에 있는 'PATH'  선택 →  '편집(I)' 클릭!  → 설치한 경로 추가 : C\MinGW\bin 
   → 경로(PATH) 추가 후 재부팅~!

④  Visual Studio code 의 확장 프로그램설치  (C /C++ 언어 코딩을 어시스트해줄 확장 프로그램을  VScode에 설치함)
     Extension 마켓에서  " C/C++ for Visual Studio Code " 검색 후 설치 

⑤ 언어별 폴더 만들고 열기
   C/C++ 언어, Python 등 작업하고자 하는 언어별로  작업폴더를 만들고,   VScode의  파일메뉴 - 오픈 폴더(폴더열기)를 한다,   예,  C언어를 작업하고 싶다면,  C-Lang 폴더를 오픈 폴더로 열고, 거기서 hello.c 파일을 만들고 저장한다. 

⑥ 맨 처음,  다음의 세개의 설정 파일 생성해야 함

    1. tasks.json (build instructions)  : 빌드(실행) 관련 지시 사항 설정 파일
        메뉴>Terminal > Configure Default Build Task.  선택  ,   디폴트 내용을 지우고,  링크해드리는 tasks.json 파일 내용을 복붙복 함 ( https://rasino.tistory.com/337  게시글 중간에 있음) 
        그리고 편리하게 사용자 단축키(키보드 숏컷) 등록하여  컴파일&빌드 : Ctrl+Alt+C  ,   실행 : Ctrl+Alt+R 키를 사용하도록 하면 편함.  위 게시글에 해당 내용 있음( keybinding.json )

    2. launch.json (debugger settings) : 디버거 설정 (디버거는 VScode에 메뉴만 있을 뿐 마켓플레이스에서 디버거를 검색, 선택해서 설치해야 작동함)
       많이 사용되는 디버거로는 코드러너 (Code Runner)가 있으며, 마켓플레이스에서 검색 후 설치함.
       설치 후, Run and Debug (F5) 를 눌러,  화면 상단 가운데 나타나는 메뉴   C++ (GDB/LLDB)  와  C++(Windows)  중에서,   반드시  C++ (GDB/LLDB)를 선택할 것!!!
       곧이어,   gcc.exe - 활성 파일 빌드 및 디버그 (컴파일러: C:\MinGW\bin\gcc.exe )  를 선택할 것!

    3. c_cpp_properties.json (compiler path and IntelliSense settings) : 컴파일러 경로 설정 파일
        메뉴 > 보기 > 명령팔레트,   또는  F1키 누름   >>   C/C++  Edit Configulations (JSON)  선택함!   

  ⑦  파일 메뉴 > Save Workspace as ...   워크스페이스 저장하기를  눌러 C언어 코딩을 위한 작업 환경을 저장하고,   다음에 C언어를 작업하고자 할 때,  여기서 저장한 워크스페이스 파일을 열면 됨.

  <<<   여기까지가 기본적으로 생성 해야할 파일은 생성된 것이며,   C언어를 예시로 작업된 것이고,   파이썬 언어에 대해 추가로  마켓플레이스에서 파이썬 모듈을 검색하고 설치,   파이썬 인터프리터를  python.org 사이트에서 다운로드 받아 설치,    그리고  파이썬 워크스페이스 파일로 저장함.   (파이썬용 tasks.json 파일 역시 게시물 참조하여 생성 :  https://rasino.tistory.com/337 ) 

    ⑧  기타,  한글 깨짐,  디버깅 사용법, 터미널 창으로 결과 출력 바꾸기,  vscode 익스텐션 툴 (유용한 확장 툴) 설치 등은 영상을 참고하세요. 

 

【 전체 과정 동영상으로 보며 실습하기 】


 그럼, 이상으로 VScode 처음 설치부터 기본 사용법과 디버깅 기능을 알아보았고,  Workspace를 사용하여 C/C++ 언어와 Python과 같은 두 가지 이상의 멀티 언어 설정법에 대해 다루었습니다.
마지막으로 사용하면 편리한 확장 Extension까지 살펴보았습니다.
현 게시글을 정말 상세히 작성했지만,  전 과정을 직접 제작하여 올린 유튜브 영상을 함께 보신다면, 쉽게 실습을 진행할 수 있을 것으로 생각됩니다. 

긴 글 ,  긴 시간의 실습 고생하셨습니다. 
감사합니다. 

 

 

[ 기타 ]
 《 에러 증상과 해결 》

(에러 증상 1. ) 설치 과정 중에, cmd에 gcc -v 했는데 버전 체크가 안 되는 경우!  ,    또는   'C:\Users\xxxxxx\HelloWorld'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
 배치 파일이 아닙니다.

(해결 1→) 이 경우는, 윈도 환경변수 등록 부분의 경로 설정에 오타나 등록 에러, 또는 경로가 정확히 맞지 않아 발생하게 됩니다. 예를 들어, 콤머(,)를 점(.)으로, 또는 세미콜론(;)을 콜론(:)으로 하나만 잘못 입력되어도 경로를 인식 못합니다. 경로 설정(등록) 부분을 한 번 더 확인해보시고, 그리고 재부팅해야 추가된(변경한) 경로가 적용되니, 재부팅도 해보세요~,  또한, OneDrive 사용 중인데 현재  OneDrive가 오프라인 상태가 아닌지?  확인해보세요.  간혹 원드라이브 아래 경로에 파일이 있을 경우 오프라인일 때 인식이 안 됩니다. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(에러 증상 2. ) 설치와 설정을 거의 대 끝내고, 간단한 코드로 실행을 시켰을 때, 터미널 창으로 아래와 같은 에러가 나는 경우입니다. """ cmd : 'cmd' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + cmd /C C:\Users\.... """ 와 같은 형태로 에러가 나는 경우,

(해결 2→) 우선 영상에서처럼 환경변수 등록을 제대로 되었는지? 확인해서 cmd ver 버전 확인이 제대로 되었다면, 그래서 경로 문제는 아닌 경우.... VS-code를 윈도에 처음 설치하게 되면, window의 경우 terminal이 기본으로 powershell로 설정되어 있을 거예요. VS-Code 화면 하단의 TERMINAL 창에 보면 , 오른쪽에 [ 1:powershell ] 로 선택되어 있을 텐데, 그걸 cmd로 변경하고 다시 해보세요. ( powershell 부분에서 Select Default Shell 선택 후, Command Prompt를 입력 및 선택하시면 되실 거예요 ) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(에러 증상 3. ) """ 액세스가 거부되었습니다. 터미널 프로세스 "C:\Windows\System32\cmd.exe /d /c cmd /C C:\vscode_c\database"이(가) 종료되었습니다(종료 코드: 1). """ 이러한 오류코드가 뜨면서 실행이 종료되었을 경우!

(해결 3→) 현재의 증상은, 액세스 관련 문제는 대부분 윈도 보안 정책과 관련되어 있을 거에요. 처음 실행했을 때 파일 생성은 되었지만, 수정후 다시 실행 파일을 만들면서 덮어쓰려하니 액세스 거부하는 걸로 보여지는 증상인것 같아요. ※ VS-Code 터미널의 권한을 관리자 권한으로 실행되도록 아래 내용 처럼, 해보세요. 1. 바로 가기 또는 앱 / exe를 마우스 오른쪽 버튼으로 클릭 2. 속성으로 이동 3. 호환성 탭 4. "관리자 권한으로이 프로그램 실행"을 선택하세요. 그럼, VS-Code를 모두 닫고 다시 실행해서 확인해보세요. 만약, 그래도 같은 증상이 있다면, C코드 작성파일이 저장되는 위치(폴더)를 윈도우(보통 C:) 드라이브가 아닌 다른 드라이브(D:)나 혹은 윈도우 문서 폴더 등과 같은 권한 영향이 미치는 곳을 피해서 저장 및 작성해보세요. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(에러 증상 4-① ) printf(); 에 한글 치면 인식 못하고 이상한 문자로 바뀌어서 출력되는데 어떻게 하면 해결할 수 있나요?

(해결 4-①→) VS-Code 한글 깨지는 현상 해결 하기 : Vs-code는 기본 설정 언어가 한글 인식이 안 되는 utf-8 코드로 되어 있어요. 이를 한글이 깨지지 않는 EUC-KR로 바꾸어 주시면 되는데요, 제일 빠른 방법은, vs-code 툴 제일 아래 파란 표시줄 보시면, 우측에 ' utf-8 '이라고 표시되어 있는 부분이 있을 텐데요, 그 부분을 클릭하면, 화면 상단 중앙에 메뉴가 뜹니다. 그럼, ReOpen Encoding... 옵션을 클릭해서 나타나는 메뉴 중 , ' Korean(EUC-KR) '을 클릭하면 됩니다. 그럼, 파란색 표시줄에 EUC-KR로 바뀌게 되는데요, 그런데, 기존 작성된 printf("ㅌㅌㅌㅌㅌ"); 코딩 부분의 한글은 아직 깨져 있는 상태 그대로 있을 텐데요, 저장 후 다시 로딩하면 한글이 제대로 뜹니다. 또는 Un-do 명령어인 이전으로 돌리기( Ctrl+Z ) 키 동시에 누른 후, 다시 앞으로 되돌리기 ( Ctrl+Y) 키 눌러보면, 깨지지 않은 채로 리로딩되어 있을 거예요. 한글 설정으로 바꾸는 다른 방법은, Vs-Code 툴의 좌측 아래에 보면 톱니바퀴 모양의 , 혹은 메뉴 중에 Settings(설정) 메뉴를 클릭 》 검색창에 "encoding" 입력 후, Files : Encoding 항목의 옵션을 ' Korean(EUC-KR) ' 로 바꾸면 되세요~

--------------------------------------------------------------------------------------------------------------------------------

(에러 증상 4-② )  아래처럼, 디버그 이용 시, Debug(디버그) 콘솔의 출력에서 한글이 깨져 나오는 경우, 

 

(해결 4-②→) Setting 화면에서 "encoding"으로 검색하여 나오는 항목에서 시스템 기본 인코딩을 UTF-8로 변경하고, Auto Guess Encoding에 체크 표시를 해제하면 해결 됩니다. 

설정 변경 적용된 결과(아래)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(에러 증상 5. ) 영상에서 설정한 빌드 단축키나 실행 단축키 관련해서 제대로 실행이 되지 않는 경우 : 혹은, ctrl+alt+c 를 했을 때 하나의 gcc.exe 활성 빌드밖에 없고 ctrl+alt+r은 실행이 되지 않는 경우 등 :

(해결 5→) VS-code 세팅 과정에서 특정 부분 셋업을 진행하다 보면, tasks.json 파일이나, 다른 설정 파일의 내용이 분명히 영상 따라 바꾸어 놓았지만, 다시 이상하게 일부분이 변경되는 경우가 생길 수 있습니다. 따라서, 작업 폴더에 생성해 놓았던 tasks.json 파일을 열어서 현재의 내용은 다시 모두 지우고, 본 영상의 더보기에 링크해드린 tasks.json 파일의 내용을 다시 붙여 넣기(저장) 해보세요. 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(에러 증상 6. ) 만약, 모두 설치를 제대로 진행하고서, C언어로 연습 코딩을 하였을 때, 아래와 같은 에러 증상이 나는 경우입니다. @/include 오류가 검색되었습니다. includePath를 업데이트하세요. 이 변환 단위(D:\(폴더명)\VSC\HelloWorld.c)에는 물결선을 사용할 수 없습니다. 파일 소스을(를) 열 수 없습니다. "stdio.h" , 처럼 C언어 코드 자체가 인식이 안 된다고 느끼신 다면,

(해결 6→) 현재 VS-Code에 영상을 따라, C/C++ 언어와 같은 추가 패키지를 제대로 설치했을 경우로 가정하고 말씀드릴게요. VS-code 화면 하단에 보시면, 파란색 작업 표시줄 같은 것이 보일 거예요.(영어로, Status Bar라고 되어 있고요,
혹시 x를 눌러 닫아 버렸다면, VS_Code 상단의 View 메뉴로 가서 》 Appearance 》 'Show Status Bar'를 체크하면 됩니다.) 그래서, 하단 메뉴 표시 바에 보시면, C언어가 아닌, HTML이나, 다른 언어 같은 걸로 설정되어 있을 거예요. 거기 부분이 'C'로 표시되어 있어야, C언어 코드로 작동 됩니다. 만약 C 가 보이지 않는 다면, 다른 언어로 표시된 부분을 클릭 하시면, 화면 상단 중앙에 언어 선택하는 풀다운 메뉴가 뜰거에요. 그럼 거기서 C나 혹은 C++ 을 원한다면, 선택하시면, C언어 모드로 바뀌고 C언어로 코드해석이 잘 될 거에요. 그리고 만약, C 하다가 파이썬이나 다른 언어로 하단 메뉴를 눌러 바꾸면서 왔다 갔다 작업을 해야 한다면,그리고 만약,  C하다가 파이썬 이나 다른 언어로 하단 메뉴를 눌러 바꾸면서 왔다 갔다 작업을 해야 한다면,   제가 단 고정댓글이나,  본 영상 더보기 클릭하시면,  
[ 멀티 언어 사용방법 또는 Work Space 저장하는 방법 ] 등으로 해서 안내해 놓은 것이 있으니 참고해 보세요~

(에러 증상 7. )  jsons 파일 변경해서 잘 먹던 단축키 (예를 들어,  빌드 :  ctrl+ alt + C  ,  실행 : ctrl+ alt + R ) 가   어떤 설정 작업한 이후에 다시 실행이 안 되는 경우! 

(해결 7→)  jsons 파일은 워크스페이스를 새로 지정하거나,  마켓 프로그램을 추가 설치하거나 등의 작업에서  그 내용이 디폴트로 리셋 되는 경우가 종종 있습니다.  
이럴 땐,   영상을 통해 이미 알려드린  jsons 파일의 내용을 다시 한번 복사 붙여 넣기 해서 저장하시면 잘 실행 될 거예요.


(에러 증상 8. ) 실행할 때 printf문 같은 것은 실행이되지만 scanf나 다른 변수를 같이쓰면 내부 또는 외부명령, 실행할 수 있는 프로그램, 또는 배치파일이 아니라는 에러 메시지를 띄우는 경우가 있습니다.  

(해결 8→) 이런 경우 별도로 설치된 Macafee safe와 같은 안티바이러스 혹은 방화벽 프로그램 같은 것 때문에, 제대로 동작이 안 될 수 있으니,  관련기능을 해제하거나, 옵션 변경 또는 프로그램을 언인스톨(삭제)해 보세요.

(에러 증상 9.)  설치 후,  C언어와  C++ 언어의 빌드 선택할 수 있는 메뉴가 나타나지 않아  gcc.exe   또는  g++.exe를 선택적으로 실행하지 못하여  빌드 및 실행 에러날 때!
(해결 9→)  F1 키를 누르면,   상단 가운데  입력창이 나타날 때,  C/C++ Edit  Configurations (JSON) 파일을 선택하여 생성 할 것!   그리고 바로  나타나는  C++ (GDB/LLDB)  와  C++(Windows)  중에서,   반드시  C++ (GDB/LLDB)를 선택할 것!!!    만약, JSON파일이 이미 생성되어 있을 경우에는 바로 선택메뉴가 나타나고 C++ (GDB/LLDB)를 선택하면 됨.

(에러 증상 10.)  파이썬에서  한글 출력할 때 인코딩관련 Syntax 에러날 때,   (  예시,  SyntaxError: Non-UTF-8 code starting with '\xc7' in file ...   )
(해결 10→)  VScode에서  EUC-KR 로 설정 되어 있고 한글을 출력하려 할 때 위와 같은 에러가 날 경우는  코드 맨 위쪽에 다음과 같은 주석을 달아주면 해결됩니다.  
   # -*- coding: euc-kr -*-
   또는,  한글이 없음에도 에러가 날 때는,   # -*- coding: utf-8 -*-   를 추가해 주고,    필요에 따라  일본어나 중국어 등 다른 언어를 사용할 때 에러가 날 경우,  해당 언어의 인코딩 주석을 추가해 주면 해결 됩니다. 

(에러 증상 11) cmd : 'cmd' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오.

(해결 11→) 먼저, 아래 두 가지 부분을 살펴보세요.
1. 시스템 환경변수의 경로(Path) 등록 부분이 제대로 되었는지? 다시 한번 확인해 보세요.

2. vscode를 처음 설치하게 되면, 기본 터미널이 cmd가 아니라 Powershell로 되어 있는데, 그부분을 cmd로 바꾸어 주세요.
VS-Code 화면 하단의 TERMINAL 창에 보면 , 오른쪽에 [ 1:powershell ] 로 선택되어 있을텐데, 그걸 cmd로 변경하고 다시 해보세요.
( powershell 부분에서 Select Default Shell 선택 후, Command Prompt를 입력 및 선택하시면 되실거에요 )

 
(에러 증상 12) include (경로) 에러가 나거나,  compiler 경로 에러가 날 때 :
(해결 12→)
MinGW가 설치된 폴더의 gcc 컴파일러(include)의 경로(path)에 문제가 있어 찾지를 못하는 것인데요,
#include <........h>  에 물결 밑줄이 그어 있을 텐데요,  거기 오른쪽 마우스 클릭 하면,  팝업창이 열리는데, 영문 기준으로  Edit"includePath" Setting 항목이 보일거예요.  그걸 클릭하거나,
또는,   vscode가 설치된 폴더 아래에 보면,  " .vscode"   폴더가 있을 텐데,   거기 아래에 보면, c_cpp_properties.json 파일이 있을 거예요.   윈도 탐색기 열 필요 없이,  그냥 VScode 좌측 탐색 화면창에서 보고 바로 열면 됩니다.

그 파일의 내용은 아래와 같이 나올 텐데요,    아래 내용에 보면,  includePath: 항목이 비어 있거나 잘못 된 경로로 되어 있을 거 같은데요,  
그 부분의 경로를 아래처럼 "${workspaceFolder}/**"   해주거나,    실제 탐색창에서 include의 경로를 확인한 다음 그 경로로 써주세요.   MinGW 버전에 따라 버전이 다를 수 있는데, 
제 경우는 C:\MinGW\lib\gcc\mingw32\6.3.0   폴더 경로 아래에 gcc의 include 경로가 있기에   "C:\MinGW\lib\gcc\mingw32\6.3.0" 경로를 직접 적어주는 식으로 하면 될거예요.
가끔 설치 경로를 자동으로 매칭 시키는  "${workspaceFolder}/**"  형태가 잘 안 먹을 수 있으니 ,  그럴 때는 직접 경로를 써보세요. 
그리고,   "compilerPath" 부분에도 경로가 비어 있으면 채워주어야 합니다. 
참고로,  vscode에서는  경로 표시 할 때,   아래 처럼, 역슬래시는 두 개를 입력해야 합니다.   슬래시는 하나만 입력 하는 거구요. 
예시,   vscode에서는
 "C:\\MinGW\\lib\\gcc\\mingw32\\6.3.0"   이렇게 하거나,    "C:/MinGW/lib/gcc/mingw32/6.3.0"  이렇게 입력해야 제대로 인식합니다.

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "C:\\MinGW\\bin\\gcc.exe",
            "cStandard": "gnu11",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "windows-gcc-x64"
        }
    ],
    "version": 4

 

(에러 증상 13)  컴파일러 선택 메뉴가 사라졌을 때, (gcc.exe  또는  g++.exe 선택할 수 있는 메뉴가 보이지 않을 때) 

(해결 13→)
보통 g++ 빌드 했을 때 문제없을 경우 아래 처럼 나오는데요,  
> Executing task: C/C++: g++.exe 활성 파일 빌드 <
빌드를 시작하는 중...
C:\MinGW\bin\g++.exe -g F:\Language\C_Lang\hakbun1.cpp -o F:\Language\C_Lang\hakbun1.exe
빌드가 완료되었습니다.
Terminal will be reused by tasks, press any key to close it.
> Executing task in folder C_Lang: cmd /C f:\Language\C_Lang\hakbun1 <
학번:923202 , 이름:이순신, 점수:99
Terminal will be reused by tasks, press any key to close it.

음...  ctrl+alt+C  빌드 단축키 같은 거 누를 때  선택 메뉴가 나오나요?   
그 메뉴가 나오면,  .C 파일은 gcc로 컴파일 하면 되고,   .CPP 파일은   g++ 컴파일러로 컴파일 하면 별 문제 없거든요.  
보통,  처음에 선택 메뉴가 나오다가 어떤 설정이 건들려 지게 되면  선택 메뉴가 보이지 않고 gcc.exe 같은 컴파일러 하나로 컴파일 되는 경우가 있습니다. 
그럴 때는, 컴파일러 선택메뉴가 나타나게 해줘야 하는데요,   tasks.json  파일을 열어보면,          
             "group": {
                 "kind": "build",
                 "isDefault": true
             },
빌드 항목이 보일 거예요. 
거기를 통째로  아래처럼 주석처리 하시고, 
            // "group": {
            //     "kind": "build",
            //     "isDefault": true
            // },
아래처럼 한 줄 새로 넣어 주세요.  
"group": "build",

저장 후,  vscode를 닫고 재실행 한 다음 해보세요.

 

[ 기타 자주 물어보는 질문 ]

질문 1)  컴파일을 c로 할지 c++할지 선택하는 과정을 없엘수는 없나요~

질문 2) 실행 버튼을 누르면 execute가 나온다음에 엔터를 쳐야 실행되는데 이것 또한 안나오게 할수는 없을까요?
답변 ① tasks.json 파일을 열어보면(VScode에서 바로 열어도 됩니다) 각 언어마다(C 와 C++) 아래와 같은 항목이 있을 거예요.
"group": "build",
그럼,  C나 C++ 둘 중에 주로 사용하는 언어의 이 부분을 주석 처리해 놓고, 아래와 같이 추가해 넣어 보세요.
 
"group": {
"kind": "build",
"isDefault": true
},
저장하고 vscode를 재 실행하면 이후로는 추가해 넣은 언어가 ctrl+alt+c 누를 때 선택창이 뜨지 않고 바로 빌드 될 거예요.
 
그럼, C언어든, C++이든 고정적으로 사용하는 언어로 지정해서 컴파일 하면 될거예요. 만약, 둘 다 섞어 쓰게 되는 경우라면, 보통 C언어 컴파일러인 gcc.exe는 C를 완벽하게 컴파일 하지만, C++은 컴파일을 모두 커버하지 못하는 부분이 있고,
반대로, C++ 컴파일러인 g++.exe는 C++과 C까지 모두 컴파일 하는 데는 크게 무리 없기 때문에, g++.exe 컴파일러를 지정해서 사용하면 될거예요.
-----------------------------------------------------------------------------------------------------------------------------
답변 ② 익스큐트 없이 바로 실행되게 하기 위해서는, 마찬가지로, 같은 tasks.json 파일을 열어서,
ctrl + F 찾기를 눌러 test 를 찾은 다음 아래와 같이 , 원래 있던 "group": "test" 부분은 주석 처리 해버리고, 아래 4줄을 추가해 주세요. 그리고 저장 후, 재실행 후 해보시면, ctrl + alt + r 키를 누르면 execute 가 뜨지 않고 바로 실행 될 거예요.
 
// "group": "test",
"group": {
"kind": "test",
"isDefault": true
},

< 위 질문과 반대의 질문에 대한 답변 : >

① 질문 :  ctrl+alt+c를 눌렀을때 c나 c++선택창이 뜨지 않고 그냥 컴파일이 되는데 뭐가 문제일까요?

② 답변 : 
안녕하세요~
중간에 어떤 다른 작업으로 인해 tasks.json의 내용 또는 일부가 변경되거나 지워지는 경우가 있습니다. 그럴때는 제공해드리는 tasks.json의 내용을 다시 복사 붙여넣기 하시면 대부분 해결 되실거에요.

그리고, 그렇게 해도 처음 몇 번은 목록이 뜨다 다시 안 뜨는 경우가 생길 수 있는데요,
① tasks.json 파일을 열어보면(VScode에서 바로 열어도 됩니다) 각 언어마다(C 와 C++) 아래와 같은 항목이 있을 거예요. "group": { "kind": "build", "isDefault": true },
이 부분은 해당 컴파일러를 디폴트로 설정해 버려 , 목록 없이 바로 컴파일 되도록 해버립니다.
그래서, 우선 이 부분 4줄을 주석 처리 해 놓고, 아래의 한 줄을 새로 입력해 보세요.
"group": "build", (C 영역 또는 C++ 영역 둘 다 이렇게 되어 있으면 됩니다)
그리고, 저장하고 vscode를 재 실행하면 이후로는 ctrl+alt+c 누를 때 선택창이 뜰거에요.
그런데, 이후로는 목록이 두 개가 아니라 4~5개 이상 뜨게 되는데요, 이유는 vs-code 또는 윈도에서 기본 제공하는 clang 이라는 컴파일러가 감지 되면서 목록에 함께 뜨는 것으로 보이는데요. 어째튼 그 것들 중에서 원하는 것으로 선택해서 컴파일 하면 됩니다.
음... 일단 앞으로 계속 사용해 보시면, 오히려 목록이 뜨는 게 별 의미 없고 번거로우실 거에요. 그럴 때는 위에서 조치한 것을 다시 반대로 돌려놓으면 됩니다.
만약 그렇게 하겠다면, C언어든, C++이든 고정적으로 사용하는 언어로 지정해서 컴파일 하면 될거예요. 만약, 둘 다 섞어 쓰게 되는 경우라면, 보통 C언어 컴파일러인 gcc.exe는 C를 완벽하게 컴파일 하지만, gcc.exe로는 C++의 컴파일을 모두 커버하지 못하는 부분이 있고, 반대로, C++ 컴파일러인 g++.exe는 C++과 C까지 모두 컴파일 하는 데는 크게 무리 없기 때문에, 보통은 g++.exe 컴파일러를 디폴트로 지정해서 사용하면 될거예요.
-----------------------------------------------------------------------------------------------------------------------------
그리고 추가로 실행 단축키도(ctrl + alt + r ) execute 글자를 별도로 선택하지 않고 지정한 컴파일러로 바로 실행 시킬 수 있는데요, 바로 실행되게 하기 위해서는, 마찬가지로, 같은 tasks.json 파일을 열어서, ctrl + F 찾기를 눌러 test 를 찾은 다음 아래와 같이 , 원래 있던 "group": "test" 부분은 주석 처리 해버리고, 아래 4줄을 추가해 주세요. 그리고 저장 후, 재실행 후 해보시면, ctrl + alt + r 키를 누르면 execute 가 뜨지 않고 바로 실행 될 거예요.
// "group": "test",
   "group": {
   "kind": "test",
   "isDefault": true
   },

 

 

※ 추가적으로 좀더 상세히 설치하고 설정하는 영상(아래 링크)을 다시 만든 게 있는데, 이부분을 참고해보세요. powershell → cmd 로 변경하는 부분도 설명되어 있어요.

 

반응형
반응형

기초구구단  만들어 보기 GuGuDan Multiplication table (while 문, for문 각각 작성) 

 

 C언어 기초편으로 오늘은 구구단을 출력해보겠습니다. 구구단 자체는 어렵지 않으나, 이중 중첩 while 문을 익히는데 좋은 연습문제가 되기 때문에 다루어 봅니다. 
( 우선 while () 문으로 연습해보고, for문으로도 적용해 보세요)

 

문제 1 : 출력을 원하는 구구단을 입력받아 해당 구구단을 출력하세요. (구구단 한 단만 출력)

 

 

 실행결과 : 아래와 같은 결과를 만들어 보세요.

 

( 아래 포인트 내용을 보고 힌트를 얻고 생각을 정리해서 스스로 코드를 작성해보세요. 최대한 노력해본 후에 제시 답안과 비교해보세요. 
 코딩 결과를 얻으려하지 말고 연습을 통해 스스로 코드를 완성해 낼 수 있는 능력을 키우는 것이 중요합니다 )

 

포인트 :
   -  while( ) 문을 사용하여 x1~ x9까지를 반복해 주어야 해요.

   -  scanf를 통해 구하고 싶은 구구단을 정수형태로 입력받고 값계산과 출력에 반영해야 합니다. 

   -  필요한 변수의 종류와 개수를 생각합니다. 

   -  증가 되어야 할 변수가 어떤 것인지? 생각해보고 증감 연산자를 사용합니다

   -  알고리즘에 문제가 없으면,  '=== 3단 ==='  ,  '줄 바꿈' 등 출력 결과를 꾸며주며 마무리 하세요.

 

주요 함수(형식) : 

   - 필수 라이브러리 :  #include <stdio.h>

   - 주요 함수 : 

       - printf(" ..... " ) 또는  printf(" ... %d... ", num )   

       - scanf(" %d ", &num)  ,    

       - while ( xxx < yyy )  {  .... ...   }

 

Code (답안 예시) :    

#include <stdio.h>

int main(void)
{
    int xdan, dan=1;
    printf("몇 단을 출력할까요? : ");
    scanf("%d", &xdan);
    printf("\n=== %d단 ===\n",xdan);
    while(dan<10)
    {
        printf("%d x %d = %2d\n", xdan, dan, xdan*dan);
        dan++;
    }    
    return 0;
}

 

 Code download :   

Hole99Dan_P156.zip
0.00MB

 

 

 문제 2 : 구구단 전체 출력하기 ,  2단부터 9단까지 이중 while ( ) 문을 이용해서 구구단을 출력 해보세요. 

 

 실행결과  : 아래와 같은 결과를 만들어 보세요.

 포인트 : 
   -  반복문 속에 반복문이 존재하는 형태로,  while( ) 문을 이중으로 사용하면 됩니다.
   -  속에 있는 while( )문으로는 x1~ x9까지를 반복해 주며,  밖에 있는 while( )문은 2단~9단을 표시하도록 처리해주세요.

   -  증가 연산자가 두 개가 필요한데, 반복문의 어디 어디에 넣어야 할지? 생각해보세요.

   -  알고리즘에 문제가 없으면,  '=== 2단 ==='  ,  '줄 바꿈' 등 출력 결과를 꾸며주며 마무리 하세요.

 

 주요 함수(형식) : 

   - 필수 라이브러리 :  #include <stdio.h>

   - 주요 함수 : 

       - printf(" ..... " ) 또는  printf(" ... %d... ", num )   

       - scanf(" %d ", &num)  ,    

       - while ( xxx < yyy )  {  .... ...   }

 

 Code (답안 예시) :    

#include <stdio.h>

int main(void)
{
    int dan=1, xdan=2;

    printf("구구단 출력\n");
    printf("\n=============\n");
    while(xdan<10)
    {
        while(dan<10) 
        {
            printf("%d x %d = %2d\n", xdan, dan, xdan*dan);
            dan++;
        }
        printf("\n==========\n");
        dan=1;
        xdan++;
    }    
    return 0;
}

 

 Code download :   

Hole99Dan_P156_2to9.zip
0.00MB

 

 문제 3 : For 문을 사용하여 구구단을 완성하되,  아래와 같은 형태로 출력 되도록 해보세요.

 

 

 실행결과 : 아래와 같은 결과를 만들어 보세요.

 포인트 : 
   -  먼저 위의 while ( ) 반복문을 참고하여 2단, 3단, 순으로 출력해본 후,  가로로 한 줄씩 출력이 될 수 있도록 생각해 보세요.

   -  첫 출 2단  2 x 1 =2  | ....    9 x 1 = 9 까지 출력된 후에는 printf("\n");  줄바꿈을 적용하면 됩니다.  

자신이 얻은 결과와 아래 예시 답안과 비교해 보세요. 

 

 Code (답안 예시) :    

#include <stdio.h>

int main(void)
{
    int i,j;
    printf(" ==================================================== 구구단 ===================================================\n");
    for (i=1; i<10; i++) 
    {
        for (j=2; j<10; j++)
        {
            printf(" %d X %d = %2d  |", j, i, i*j);
        }
        printf("\n");
    }
    printf(" ===============================================================================================================");
}

 

 Code download :   

TwoToNineForVer.zip
0.00MB

 

반응형
반응형

【 C 환경설정 】 VS code에서 Turboc.h 사용하기 / 한글 표시하기(터미널 창 폰트 깨짐 해결)

 

 안녕하세요~오늘은 C언어 기초 공부를 하다 보면, 터보C 콘솔용 함수인 Turboc.h 헤더 파일을 사용할 때가 생길 수 있는데요, 이럴 때 헤더 파일을 추가하는 방법과 VScode IDE에서 한글이 들어간 코드를 실행 시 터미널(Terminal) 창에서 한글이 깨져 나오는 현상에 대해 해결하는 내용으로 다루어 볼게요. 

 

 

▶ #1  :  요즘 콘솔용 터보C 함수는 잘 사용하지 않지만,  C/C++ 코딩 기초 학습할 때(혼자 연구하는 C/C++, 김상형 저 ) 등 필요할 때가 생기는데요, 대체할 수 있는 다른 함수를 찾는 것보다 콘솔용 함수를 풍부하게 담고 있는 Turboc.h 헤더 파일을 그냥 하나 추가해서 사용해보는 것이 훨씬 편하다고 생각해요.

아래 이미지 처럼, Turboc.h. 헤더는 기본으로 추가되어 있지 않아 에러를 발생시키게 됩니다.  

( 아래의 이미지 들을 클릭하면 확대됩니다)

 

 

 

▶ #2 :   첨부된 Turboc.h 헤더 파일을 다운로드하여 MinGW가 설치된 폴더의 include 폴더에 복사해 넣으세요.

  (경로 : C:\MinGW\include  )

 

헤더 파일 다운로드 받기 : 

Turboc.h
0.00MB

 

▶ #3 

  그럼, VScode IDE에서 코드를 다시 빌드&실행시켜봅니다. 

 아래 이미지 처럼, Turboc.h 헤더가 필요한  random( ) 함수 사용도 문제없이 잘 작동되는 것을 볼 수 있는데요,  문제는 한글이 깨져 나오는 문제가 생깁니다. 

 

▶ #4 :   문제의 원인은 터미널(Terminal)등에 설정된 언어 인코딩 설정이 기본 UTF-8로 되어 있어, EUC-KR 설정이 필요한 한글이 깨져 나온 증상입니다. 

 따라서 인코딩을 EUC-KR로 변경해 주면 해결되는데요,  VScode IDE툴의 하단에 보면 파란색 상태바(Status Bar)에서 쉽게 변경 가능합니다.  하지만 이미지에 보이는 것 처럼 상태바를 닫아 버린 경우 상태바를 다시 불러와야 합니다.

 상단 메뉴로 가서,  'View 》 Apearence 》 Show Status Bar'를 체크하세요.

 

그러면, 화면 하단에 이렇게 파란색의 'Status Bar'가 나타납니다.  Status Bar(상태바)에 마우스 우클릭해서, 
'Editor Encoding' 옵션을 체크해주세요  

 그리고 다시,  'UTF-8' 이 부분을 마우스로 클릭하면, 화면 상단에 메뉴가 나오는데요, 
    'Reopen with Encoding'을 클릭하세요.

 그러면, 아래 화면처럼, 여러 나라의 인코딩 목록이 나오는데요,  그중에서 Korean (EUC-KR)을 선택하면 됩니다.

 

. 하지만 그 순간 갑자기 기존 한글이 깨져 보이는데요, 파일을 닫고 다시 열거나 ,
뒤로 가기(ctrl+z) 눌러  내용을 미리 복사해 놓고 다시 진행해 보면, 쉽게 해결이 됩니다.

 

그리고 다시 빌드&실행해보면,  아래처럼 한글이 깨지지 않고 터미널 창을 통해 멋지게 표시되는 것을 볼 수 있습니다. ^^;

 

이렇게 한글을 표시할 수 있습니다.  하지만 이 방법은 해당 코드별로 필요할 때 마다 각각 조치해줘야 하는 번거로움이 있는 방법이구요,  툴 자체적으로 지속적으로 한글(EUC-KR) 코드로 설정을 하려면, 아래 이미지 처럼 설정을 해주면 됩니다. 

 File 》  Preferences 》 Settings   설정으로 진입한 다음

 

 

검색창에서 ' utf ' 라고 입력하면, Files: Encoding 항목이 보이며,  기존 utf-8 로 선택되어 있는 항목을 euckr - korea (한국)으로 선택해주면,   이후로는 vs-code의 기본 언어가 euc-kr(한글)로 인코딩 설정이 됩니다. 

 

 그렇게 어려운 설정은 아니지만,  이제 막 코딩 기초 학습을 시작하시거나 VScode 툴도 처음 사용하시는 분에게는 정말 필요한 팁이어서 포스팅하게 되었습니다.

 아울러,  영상을 통해 쉽게 따라 해 보실 수 있도록 영상도 제작하였으니,  영상도 한번 확인해 보세요~

 

 

 

< 영상 자료 유튜브로 보기  >

 

 

반응형
반응형

【 영상버전 】  》》》 VS-Code에서 C / C++ 코딩 환경 구축하기 《《《

 

 VS-code IDE 툴에서 C/C++을 편집하고 빌드, 실행, 디버깅 메시지 까지 받을 수 있도록 환경을 구축하는 방법에 대해 설명드리며,  영상으로 제작하여, 보면서 따라 하실 수 있도록 하였으니 참고해보세요. 

 

 

 

▶ 게시글 설명으로 보기 

2020/07/05 - [Language/C ] - 【 C 환경설정 】 VS code에서 C/C++ 코딩환경 구축하기

 

 

▶ 영상으로 보기  :  아래 화면을 클릭하면 플레이 됩니다...

 

 

 

[ 영상에서 필요한 자료(직접 다운로드)  ]

▶ #1 MinGW 프로그램 다운로드 : https://sourceforge.net/projects/mingw/files/ ( 바로 다운로드 하기 : https://k.kakaocdn.net/dn/cMxWZ6/btqFn1eJeOu/78ZjgVWI2y9bhl6EzqDQ1K/tfile.exe )

▶ #2 tasks.json 파일 받기 : https://k.kakaocdn.net/dn/brDC5p/btqFn0fPsBW/B75rJiBqICBUkxkxMahI21/tfile.txt

▶ #3 Keybinding 파일 받기 : https://k.kakaocdn.net/dn/bHhiX4/btqFnwGB6cs/JjH0MCuwrGT1PavzRu6921/tfile.txt

▶ #4 상세설명 자료 보기 : https://rasino.tistory.com/307  

반응형
반응형

【 C 환경설정 】  VS code에서 C/C++ 코딩 환경 구축하기 

 

 요즘 파이썬(python)이나 자바(JAVA), javascript C# 등등 하이레벨 언어를 학습하던 사람들이 프로그래밍의 근간을 튼튼히 한다거나?  여러 가지 이유로,  다시 C나 C++을 공부하고 있는 사람들이 꽤 있는 것으로 보이는데요?

 그런 와중에, 요즘 대세로 자리 잡은 코딩 IDE 툴인 VS-code (비주얼 스튜디오 코드-Visual Studio Code)를 많이 사용하고 있다 보니, VScode에서 C나 C++의 코드를 돌려보려는 분들이 많은 것 같네요.   물론, Dev++ 툴이나, 비주얼 스튜디오를 설치해도 되겠지만, 이미 VS-Code라는 최고의 IDE 툴을 사용하고 있으니 거기에서 돌리려는 욕구가 일어나는 것은 당연하리라 생각됩니다.  

 

  하지만, 그냥 바로 빌드하거나 실행시킬 수 있는 상태는 아닌데요, 

 이렇게 하기 위해서는 우선 몇 가지 조치를 해줘야 해요, 오늘은 이 부분에 대해 다뤄 볼까 합니다.

그리고 다음 시간에는 터보C 콘솔용 함수 ( #include <Turboc.h> )를 추가해 사용해 방법을 포스팅 해보려고 합니다.

 

》》》 VS-Code에서 C / C++ 코딩 환경 구축하기  《《《

▶ #1  :

VS code를 실행합니다.  아래처럼 Extention 항목에서 " C++ "를 입력하여 검색하세요.

아래 번호 순대로 클릭하여 진행하면 됩니다.

   VS-code는 필요한 확장 프로그램을 IDE 툴 내에서 바로 검색해서 설치해주는 무척 편리한 툴입니다. 

설치가 되었다면 이미지처럼 Uninstall로 나오는데요,  Install 버튼을 클릭하면 즉시 설치가 시작됩니다. 

 

그런데, 확장 프로그램이 설치되었다고 해서 바로 컴파일과 디버깅을 할 수 있는 것은 아닌데요,  C 코드에 대한 인식과, 명령어 코드 등을 인식해서 알기 쉽게 색도 표시해주는 등의  확장 기능만 추가된 상태여서 그렇습니다.

 

▶ #2 :

 윈도에서 C/C++의 컴파일러인  gcc와 g++ 을 설치하기 위해서는 MinGW라는 프로그램을 설치해야 하는데요, 

아래 사이트에 접속해서 (다운로드 파일 직접 링크함) 다운로드하거나 아래 첨부파일을 받으시면 됩니다. 

https://sourceforge.net/projects/mingw/files/ 

 

 《 다운로드 파일 바로 받기 》  →  아래 mingw-get-setup.exe 를 다운로드하여 실행시킵니다. 

mingw-get-setup.exe
0.08MB

 《 MinGW 설치 

다운로드한 파일을 실행시키시고 아래의 순서로 진행해주세요~

 

  아래 MinGW Installation Manager 창에서 아래 항목을 선택 후 우클릭 "Mask for Installation"을 체크하여 설치를 진행하면 되는데요, 아래 4가지를 체크하면 됩니다.(하나는 자동 체크)

 

 msys-base는 자동으로 체크됩니다. 

선택 후 아래 Apply Changes를 클릭하면 선택된 패키지의 설치가 진행됩니다. 

- 설치 완료되면 아래 'Close'를 클릭하고 창을 닫습니다.

 

▶ #3 :

 - 설치 진행이 완료되면,  윈도 시스템에 환경변수를 등록해주어야 하는데요,

  윈도(7, 10 동일) 실행창 검색에서  " 시스템 환경 변수 편집 "을 찾아 들어갑니다(또는 제어판)  

 - 고급 탭에서 환경변수 클릭!

 - 편집을 클릭하여 들어가세요

- 시스템 변수(S) 영역에 아래에 있는 "편집(I)..."을 클릭하여 아래 경로를 추가해주는데요, 

 새로 만들기로 경로를 추가해주거나 →  C:\MinGW\bin  

 기존 경로에 추가해주면 되는데요,   ;C:\MinGW\bin  

주의! 기존 경로에서 추가할 때는 이전의 경로 끝에 ' ; ' 세미콜론을 붙이고 새로운 경로를 입력해야 합니다.

 아래는 '윈도 10'에서의 새로 만들기 경로 추가 화면의 모습입니다. 

 

▶ #4 :

  PATH 경로까지 입력이 되었다면, 커맨드(command) 창을 열어 설치가 제대로 되었는지? 버전 체크를 통해 확인해 볼게요.  

 

- 커맨드 화면에서 gcc -v 라고 입력해보면, 제대로 설치되었다면, 아래처럼 gcc 버전을 확인할 수 있습니다. 

 

 

 -  역시 g++ -v 라고 입력해보면 아래와 같은 버전 확인이 가능합니다. 

 

 

 ▶ #5 :  자!  이제 컴파일러까지 설치 완료되었다면, 다시 VScode를 실행시켜 봅니다.

메뉴에서 새폴더를 만들거나 할 수 있으며,  새 파일을 눌러 HelloWorld.c 를 하나 만들어 간단히 코드를 작성해 봅니다.

VS 코드 처음 시작하시는 분을 위해 잠시 설명드리면, 코드 작성 후 저장을 하지 않았다면, 파일 제목 탭 옆에 하얀 점이 생기는데요,  메뉴에서 저장을 클릭하거나 단축키 ' Ctrl + S '를 누르면 하얀 점이 사라지면서,  창을 닫을 수 있는 X 표시로 바뀌어집니다.

 

 - 그런데요, 코드 작성 후 툴에서 바로 gcc (g++) 컴파일러로 컴파일 작업을 바로 할 수 있는 상태가 아닌데요, 

 그래서 빌드 설정을 진행해야 합니다. 

 아래처럼 메뉴 Terminal 메뉴에서 ' Configure Default Build Task ' 메뉴를 클릭하거나,

 

 단축키 ' Ctrl + Shift + B '를 눌러보면,  아래처럼 빌드 작업을 찾을 수 없다는 메시지와 함께 새로운 빌드 작업을 구성할 수 있도록 메뉴가 하나 나타납니다.    그래서, 새로운 빌드 작업 구성을 위해 ".... 빌드 작업 구성..."을 클릭해 주세요.  

 

이어서, 템플릿에서 tasks.json 파일 만들기를 다시 클릭해 주세요.

그리고 다시 "Others 임의의 외부 명령을 실행하는 예"를 선택합니다. 

그러면, 아래와 같은 기본 설정의 " tasks.json " 파일이 만들어지는데요,  

 기존 내용을 지우고 아래와 같은 내용으로 교체해 주세요. 

일일이 타이핑이 어려우니 첨부해드리는 파일을 다운로드하여 복불복해서 붙여 넣으세요.

{
    "version": "2.0.0",
    "runner": "terminal",
    "type": "shell",
    "echoCommand": true,
    "presentation": {
        "reveal": "always"
    },
    "tasks": [
        {
            "label": "save and compile for C++",
            "command": "g++",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": "build",
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        {
            "label": "save and compile for C",
            "command": "gcc",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": "build",
            "problemMatcher": {
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        {
            "label": "execute",
            "command": "cmd",
            "group": "test",
            "args": [
                "/C",
                "${fileDirname}\\${fileBasenameNoExtension}"
            ]
        },
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe 활성 파일 빌드",
            "command": "C:\\MinGW\\bin\\gcc.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
            "detail": "디버거에서 생성된 작업입니다."
        },
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 활성 파일 빌드",
            "command": "C:\\MinGW\\bin\\g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
//            "group": {
//                "kind": "build",
//                "isDefault": true
//            },
            
            "detail": "디버거에서 생성된 작업입니다."
        },
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe 활성 파일 빌드",
            "command": "C:\\MinGW\\bin\\gcc.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
              
            // "group": {
            //     "kind": "build",
            //     "isDefault": true
            // },

            "detail": "컴파일러: C:\\MinGW\\bin\\gcc.exe"
        }
    ]
}

tasks.json
0.00MB


이제, 거의 다 되었고요, 단축키 설정만 하면 VS-Code에서도 편하게 C/C++을 컴파일과 디버깅 화면 출력까지 볼 수 있게 됩니다.  

- 아래처럼, VScode에서 단축키 메뉴로 들어갑니다.   

영문메뉴:   File 》 Preferences  》 Keyboard Shortcuts 》

한글메뉴:   파일 》 기본 설정  》 바로 가기 키 》

 

- 그럼,  아래처럼 기존 설정된 단축키 목록들이 나오는데요,  검색창에 Ctrl + Alt 등의 단축키를 타이핑해보면 해당 단축키의 설정 상황을 검색해 볼 수 있습니다. 

 

 

- 그럼, 화면에 표시되는 내용에 " keybindings.json " 글자가 보이면 클릭하시고,  만약 보이지 않는다면, 아래 이미지처럼 우측 상단의 노란색 화살표 부분을 클릭하면,  

 

아래처럼, keybindings.json 파일이 열립니다. 

그럼, 아래와 같은 내용으로 입력해주는데요,   

복불복할 수 있도록 파일을 첨부해드려요.

Keybinding값.txt
0.00MB

그리고  저장 (또는, Ctrl+S 단축키 사용)  합니다. 

그럼, 다시 ' Keyboard ShortCuts ' 탭으로 와서 아래처럼 검색창에 ' Ctrl + alt + '를 입력해보면 

- 빌드 단축키( Ctrl + Alt + C )와 

- 실행(Run) 단축키 (Ctrl + Alt + R)가  사용자 정의 (User)로 설정되어 있는 것을 알 수 있습니다.  

 

 

- 이제, 직전에 작성한 HelloWorld.c 코드로 돌아와서,  빌드 단축키 ( Ctrl + Alt + C)를 눌러보면,  C 또는 C++로 실행시킬 수 있는 메뉴가 바로 나타나는 것을 알 수 있습니다. 

  위 화면처럼 ' save and compile for C ' 가 선택되어 있는 상태에서 마우스 클릭하거나 엔터(Enter) 치면 

아래처럼 터미널(TERMINAL) 창을 통해 빌드된 것을 알 수 있어요. (만약, 에러가 발생한다면, 에러 표시도 됩니다)

 

그리고,  실행(Run) 단축키 (Ctrl + Alt + R)를 눌러보면, 실행시킬 수 있는 'execute' 메뉴가 바로 나타나는 것을 알 수 있습니다. 

 

 클릭! 또는 엔터 치면, 드디어! 아래처럼 터미널 창을 통해 확인이 가능합니다.   ^^

 

이상으로, VS-Code에서 gcc, g++ 컴파일러가 필요한 C 또는 C++ 언어를 코딩하기 위한 VScode 설정에 대해 살펴보았습니다.

 

『 추가 사용법 설명 』 

 【 멀티 언어 코딩 환경(다중 워크스페이스) 설정 방법 】 →

 VS-Code를 사용할 때, 여러 가지 언어에 대한 코딩이 필요할 수 있는데요, 예시로 C/C++ 언어와, Python 언어 두 가지를 VS-Code를 이용하여 두 언어가 섞이지 않고 깔끔하게 사용하는 방법에 대한 설명입니다.

  핵심은 Work Space(워크스페이스) 파일을 C/C++ 언어용으로 하나 만들고, Python용으로도 하나 만들어서, 해당 언어의 코딩 작업을 하려고 할 때 , 각각의 WorkSpace 파일을 열어서 작업하면 됩니다.
 ( ※ 작업 폴더도 언어별로 각각 만들어서 구분해 주세요) → VS-Code 창 화면 제일 아래에 보면 파란색 표시줄이 보이시죠? (Status-Bar , 상태바) 만약, 닫으셨으면 상단 메뉴에서 View 》 Appearance 》 'Show Status Bar' 클릭~! 거기 창 우측에 보면 파이썬 모드일 경우에는 " Python " C언어 모드일 경우에는 "C"라고 나올 거예요. 거기를 마우스로 클릭해보면, 화면 상단 중앙에 Select Language Mode가 뜨면서, C, C++ , Go, Java, .... Python , 등등 여러 가지 언어 목록이 나와 있을 거예요.


목록 중에서 C 또는 C++을 선택합니다. 그러면, VS-Code 툴 자체가 터미널 포함하여 C언어 관련 모드가 되며, Ctrl+Alt+C (빌드) , Ctrl+Alt+R (실행)과 같은 단축키 적용 환경을 담은 C/C++ 내용이 담긴 JSON 파일도, 영상을 참고하여 만들어 주세요.

  그리고, (위 이미지 참조) 파일 메뉴에 보면 Save as workspace... 가 있어요, 그걸로 C_workspace.code-workspace 형태로 저장하시고, 다음에 C작업을 할 때는 이 워크스페이스 파일을 오픈하여 작업하면 되고요, 마찬가지로, Python언어로 작업할 때는 파이썬으로 세팅 후 ( Python 작업 폴더 지정과 파이썬 단축키 등의 내용이 들어 있는 JSON파일 등) , PY_workspace.code-workspace 형태로 워크스페이스 파일을 만들어, 파이썬 작업할 때 이 워크스페이스 파일을 오픈하여 작업하면 됩니다. C/C++ 언어의 JSON 파일은 바로 위 링크를 참고해주세요. 파이썬의 JSON 파일은 검색해보면 여러 가지 있고, 아래를 참고해보세요.

[ 파이썬의 JSON 파일 내용 예시 ] 

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "python execute",
            "type": "shell",
            "command": "python",
            "options": {
                "cwd": "${fileDirname}"
            },
            "args": [
                "${file}"
            ],
            "group":{
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": true
            }
        },
        {
            "label": "c execute",
            "type": "shell",
            "command": "./${fileBasenameNoExtension}",
            "group":{
                "kind": "test",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": true
            }
        }
    ]
}

 

【 C/C++의 실행 버튼 ▶ 기능 설치하기 】

비주얼 스튜디오나 다른 전용 코딩 툴에 보면 작성한 코드를 실행시키는 단축키 외에 직접 마우스로 클릭하여 실행하는 버튼이 있는데요,   비주얼 스튜디오 코드(VS-Code)에서도 이런 버튼 기능을 추가로 설치할 수 있습니다.
또한 코드러너는, 디버깅 과정에서도 활용할 수 있기 때문에 설치해주면 좋습니다.

VS-Code에 실행(▶) 버튼을 추가한 이미지

1. VS-Code 툴 내에 있는 마켓플레이스에서 "Code Runner"로 검색해 보세요.


 설치(Install) 후, Vs-Code를 재시작하세요. 플레이 버튼이 VS-Code 오른쪽 상단에 바로 생성되는데요, 간단한 코드 작성하셔서 실행해 보시면, 화면 하단부에 "OUTPUT" 창 영역에 실행결과가 출력될 거예요.
( 코드위 마우스 우클릭해서 'Run Code' 및 단축키 'Ctrl+Alt+N'으로도 실행 가능하세요)
그런데, OUTPUT 창 영역은 결과만 볼 수 있는 창이어서 데이터 입력과 같은 작업은 하지 못하게 됩니다.

▶ 플레이 버튼으로 실행결과를 OUTPUT 창에 출력된 모습

2. 그래서 출력 결과를 입력도 가능한 터미널 창으로 설정하기 위해서는, VS-Code의 메뉴 》 File 》 Preferences 》 Settings 클릭하면, 화면에 설정창이 열리고 열린 화면 안의 세로 메뉴 목록 중 제일 아래에 있는 ' 〉 Extensions '를 클릭합니다. 그럼 그 아래로 하위 메뉴가 다시 열리는데, 아래쪽에 보시면 'Run Code Configure...' 메뉴가 보일 거예요. 클릭! 그리고 화면 가운데 옵션들 중에서 스크롤 다운 좀 하다 보면, ' Run In Terminal ' 옵션이 있을 텐데, 거기를 체크해주시면, 플레이 버튼 ▶ 클릭 후 실행결과가 터미널로 바로 열리게 되어 데이터 입력도 가능한 상태가 됩니다.

터미널창에 실행되어 입력이 가능한 상태 (이미지 클릭하면 확대됩니다)



【 VS-Code 삭제 안내 】
[ 만약 삭제가 필요한 경우 아래 안내를 참고해보세요. ]
삭제의 경우 제어판의 프로그램 삭제 같은 게 없기 때문에 삭제 방법을 알려드립니다. (용어 등 윈도10 기준입니다)

1. 윈도우 (시작) 작업표시줄 검색창에서 'MinGW Install ' 로 대략 검색해보시면, 'MinGW Installation Manager'라는 아이콘이 뜰 거예요. 그걸 실행해 주세요.
2. 그럼, 제 설치 영상 과정에 있었던(
1:50) MinGW Installation Manager라는 창이 뜹니다.
지금은 설치해 둔 항목의 체크 박스에 체크되어 있을 텐데요, 해당 항목들을 하나씩 마우스 우클릭하면 작은 팝업창이 뜨고 거기에 'Mark for Removal'이라는 항목을 클릭하세요. 설치된 항목 모두 똑같이 진행하세요.
3. ' MinGW Installation Manager' 설치 프로그램 메뉴 첫 번째로 가서 Installation을 클릭하셔서, Apply Changes를 클릭하세요. 이어서 뜨는 팝업창에서 Apply 버튼을 클릭하면, 좀 전에 체크해둔 설치된 파일들이 삭제가 진행될 거예요.
4. 파일 탐색 창을 열고 ' MinGW '를 설치한 폴더를 그냥 선택해서 바로 삭제하면 됩니다. 남은 파일 제거함
( 본 영상에서는 'C'드라이브 루트 바로 밑에 설치하였음 : C:\MinGW )
5. 제어판 혹은 윈도 (시작) 작업표시줄 검색창에서 '시스템 환경 변수 편집'을 여세요. 거기에서 처음 설치할 때 MinGW 환경변수 등록한 부분만 삭제를 해주시면 모두 깔끔하게 삭제될 것에요.
6. 추가적으로 레지스트리 청소하는 툴 사용하고 계신 것 있으시면 한 번 돌려주셔도 되고요.
참고로 아래는 삭제 방법에 대한 영문 영상 링크이니 함께 참고해 보세요.
https://www.youtube.com/watch?v=WWSK8wYvs2w

[ 추가 설명 ] 
  사용한 적 없는 PC에 처음 VS-Code를 설치하게 되면, 즉, tasks.json을 한 번도 안 만들었던 경우는 여기를 참고하세요. (영상은 이미 만든적이 있어서 tasks.json 파일 여는게 조금 다릅니다.)
- 1. VS Code를 실행합니다.
- 2. 키보드 'F1' 키를 누릅니다.
- 3. tasks.json을 한번도 안 만들었다면, ' Create tasks.json file from template '가 뜨는데 이걸 클릭하세요.
- 4. 그럼, 4가지 옵션이 나오는데, 그중에서 제일 아래 ' Others '를 고르면 'tasks.json' 파일이 처음 생성됩니다. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- ctrl + shift + B -- 기본적인 빌드 명령 (영상에서 추가해준 ctrl + alt + C 단축키와 동일하게 실행됨)
- ctrl + j -- 터미널 창 불러오기/닫기 (토글)
- 디폴트 테스크( tasks.json ) 파일 만들기(열기) : Vs code 메뉴에서 Terminal 》 Configure Default Build Task... 클릭하면 tasks.json 파일 생성 가능합니다.

[ VS-Code 툴의 개념과 기본 사용법에 대한 정리 ]
- 기본적으로 VS-Code라는 툴은 특정 언어에 맞추어 특화된 툴이 아니라, 코드 작성 시 "편의 기능 제공-디버그 환경 제공-쉘 기능" 등의 코딩에 필요한 핵심기능과 편리한 코딩을 위한 바탕을 제공하는 뼈대의 역할을 하는 툴이며, 요즘처럼 멀티 언어가 필요한 시점에, 여러 가지 다양한 언어를 하나의 툴로 번갈아 가며 개발 하기에도 수월하도록 만들어진 코딩 툴이라고 보시면 됩니다.
  그런데 각각의 언어마다 환경설정이 다르고, 사용하는데 필요한 기능을 추가로 설치해야 하는데요, 이는 본인이 사용하려는 언어별로, VS-Code 툴의 'Extentions 오픈마켓'에서 필요한 기능을 검색해서 설치하여 사용할 수 있게 만든 구조예요. 따라서 각 언어별로 tasks.json이라는 파일을 두어, 필요한 리소스 경로와 기타 환경 설정을 관리하게 하여 각각의 코드로 코딩이 되도록 하는 구조입니다.
  당연히, C언어 , 파이썬 등 각각의 언어별로 tasks.json 파일이 필요합니다. (언어별 작업 폴더를 분리해야 하는 이유)

- 일단 VS-Code로 두 가지 이상의 언어를 병행해서 공부하려고 한다면, 워크스페이스 파일을 각각 만들어 사용하여야 서로 엉키지 않고 편리하게 왔다 갔다 작업이 쉽습니다. 예를 들어, C/C++ 언어로 코딩 환경을 만든다고 하면, 하드 드라이브에 예를 들어 , C_World라는 작업 폴더를 하나 만들고, 그리고 방금 만든 폴더를 VS-Code에서 추가합니다. 여기가 C언어 작업 폴더가 되며, xxx.C이나 xxx.exe 와 같은 작성 파일 및 실행파일을 저장하게 됩니다. 그리고 C언어 모드로 선택하고, 오픈 마켓 등에서 C/C++ 관련된 필수 및 필요한 확장 패키지를 설치하고서 제 영상에서와 같은 tasks.json 등의 설정을 합니다. 그리고 마지막에 Save As Workspace... 메뉴로 C_Lang.code-workspace와 같은 파일명으로 "C_World" 폴더에 저장해 둡니다.

- 똑같은 방법으로, Python 언어 코딩 환경을 만듭니다. 하드 드라이브에 C와는 다른 곳에 Py_World라는 작업 폴더를 만듭니다. 그리고 방금 만든 폴더를 VS-Code에서 추가합니다. 여기가 파이썬 작업 폴더가 되며, 그리고 Python 모드로 선택하고, 오픈 마켓 등에서 python 관련 필수 및 필요한 확장 패키지를 설치하고서, 제 영상에서와 같은 tasks.json 등의 설정을 합니다. 그리고 마지막에 Save As Workspace... 메뉴로 Py_Lang.code-workspace와 같은 파일명으로 "Py_World" 폴더에 저장해 둡니다.

- 그러면, 다음번에 VS-Code를 실행시킬 때, 직전에 작업했던 환경으로 열리게 되는데, 예를 들어 파이썬 환경으로 작업 폴더 및 워크스페이스 환경이 떴다면, 그대로 작업하거나, C/C++ 언어를 다루고자 할 때는 메뉴에서 "Open Workspace"를 클릭해서 C_World 폴더에 저장해 두었던 'C_Lang.code-workspace ' 파일을 열면, 모든 세팅이 C/C++ 언어를 개발할 수 있는 상태와 작업 폴더로 바뀌게 됩니다.

- 따라서 VS-Code내에서 폴더를 만들고 여는(추가하는) 것은 워크스페이스의 하위 개념도 아닌, 그냥 작업 폴더를 열거나 추가하는 수준이고, 때에 따라 해당 폴더에 tasks.json파일이 있을 경우 자동으로 설정이 반응하기도 합니다.

- 만약 위와 같은 형태로 하려 하는데 무언가 에러가 난다면 대부분 환경설정 부분이나 패스 같은 지정이 잘못되어 있는 경우가 많으니 천천히 살펴보세요. - 파이썬은 기본적으로 실행파일을 제공하지 않고, 도스 쉘과 같은 CMD 커맨드 라인이나, 터미널(콘솔 창)에서 C:\python Hello.py 와 같은 형태로 실행시킵니다. 또는 VS-Code 툴에 '실행 버튼 ▷'을 추가하여 실행시킬 수도 있습니다. C/C++도 마찬가지로 Ctrl+Alt+R 단축키 대신에 실행 버튼을 눌러 터미널 창으로 실행되도록 할 수 있습니다.  우선, 위에서 설명한  '코드 러너'(Code Runner)라는 툴 같은 것이 설치되어 있어야 하고, 약간의 설정만 해주면 됩니다.   
→ 디버깅 설정 안내 [시작 전 조건(상태) ] :
 위의 설명처럼, MingGW 설치 및, C/C++ 확장팩까지 설치되고, json 파일까지 설정된 상태로 해주세요.
1. Code Runner(코드 러너) 마켓플레이스에서 Code Runner를 검색 후 설치해주세요. 디버깅을 위한 툴로 사용됩니다.
2. VS-Code 상에서 (새) 폴더를 하나 추가해주세요. 또는 기존 C/C++작업 폴더, C/C++로 세팅한 워크 스페이스를 하나 만듭니다(Save As Workspace 함. 또는 영상의 더보기 클릭하면 워크스페이스 관련된 간단한 안내글 조금 있어요)
3. 디버깅 설정을 위해서는 간단한 테스트 파일(.C 또는. CPP)을 만듭니다. a=3; b=4; c= a+b; printf( .... 식의 변수를 사용해서 간단하게 디버깅을 확인해 볼 수 있는...
4. 컴파일러 설정하기 (c_cpp_properties.json) / launch.json 설정하기 / settings.json 설정하기 5. 만약 디버깅 설정 과정에서 task.json 파일의 내용이 디폴트 값으로 복귀되었다면, 제 영상에서와 같은 C/C++ 내용의 task.json 내용으로 다시 바꾸어 저장해 주세요.
 ※ 디버깅 설정 작업에서의 핵심은 디버깅 기능을 실행할 컴파일러의 경로 설정을 제대로 해주는 것이에요. 만약 에러가 난다면 경로 설정 부분이 맞지 않거나 옵션이 부족하거나 오타 나게 되면 주로 발생하니 차근차근 진행해 보세요. 그리고, 2. 번부터의 작업내용은 디테일하고 좀 복잡하기 때문에, 메뉴나 설정 옵션 같은 이미지를 보면서 하셔야 하기 때문에, 아래 링크를 하나 걸어드릴 테니, 천천히 보면서 해보세요. 제가 작성해 놓은 글은 없는데 링크 걸어드리는 내용이 제 영상의 설정과 맞아서 참고해 보시면 하실 수 있을 듯합니다. 참고로 링크해드리는 글에서는 C/C++확장팩 설치 및 일부 설정이 제 영상에서 이미 설정하신 게 있으므로, 중복으로 나와 있을 수 있으니, 이미 작업한 설정은 건너뛰고 추가로 안 해준 설정들만 해주시면 될 듯합니다. 참고 글 : https://miaow-miaow.tistory.com/126

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 또한 파이썬 코딩에서 C언어처럼 xxx.exe와 같은 실행파일이 필요한 경우, " Pyinstaller "와 같은 별도의 프로그램을 설치하면, exe파일을 만들 수 있고, 코드에 import 된 라이브러리를 따로 생성하지 않고 exe파일에 포함시키는 기능 같은 것도 제공합니다. - 마지막으로, 처음 VS-Code를 사용하려 할 때, 기본 코딩 툴의 뼈대만 설치된 상태이기 때문에 처음 사용자분들이 많이 당황하십니다. 그리고 Open 소스 방식이어서 필요한 기능이나 툴을 본인이 판단해서 설치하고 직접 세팅해야 하는 부분이 커서 처음부터 적응하기는 쉽지 않습니다. 하지만, 직접 이리저리 세팅해보고 시행착오를 좀 겪어보고 안정적인 세팅이 가능해지면, 이거 만큼 편리한 만능 툴은 없다고 생각됩니다. 그러니, 우선 직접 툴 자체를 이래저래 많이 만져 보면서 경험을 쌓으면 좋을 것 같습니다. VS-Code와 유사한 툴로 파이참(Pycham) 이나 아톰(Atom)과 같은 툴 들이 여럿 있고 꽤 나름의 유저층이 있습니다. 각각의 편리기능이 좀 다르고, 장단점과 지향점이 있겠으나 모두 괜찮은 툴들이며, 최근 VS-Code를 많이 사용하고 있는 추세인 것 같고 , 사용해보시길 권해드립니다.


마지막으로,  VS-Code를 설치하고 간단한 코드를 테스트해보는 과정에서,  각 개인별 환경에 따라 여러 가지 에러가 발생할 수 있는데요,   아래 관련 에러에 대한 추천할 만한 조치사항을 안내해 드리니 참고해서 시도해보시면, 대부분 해결될 것으로 기대합니다.  

 그럼 본 게시글이 조금이라도 도움되셨기를 바라며...   

《 에러 증상 해결 》
(에러 증상 1. ) 설치 과정 중에, cmd에 gcc -v 했는데 버전 체크가 안 되는 경우!

(해결 1→) 이 경우는, 윈도 환경변수 등록 부분의 경로 설정에 오타나 등록 에러, 또는 경로가 정확히 맞지 않아 발생하게 됩니다. 예를 들어, 콤머(,)를 점(.)으로, 또는 세미콜론(;)을 콜론(:)으로 하나만 잘못 입력되어도 경로를 인식 못합니다. 경로 설정(등록) 부분을 한 번 더 확인해보시고, 그리고 재부팅해야 추가된(변경한) 경로가 적용되니, 재부팅도 해보세요~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(에러 증상 2. ) 설치와 설정을 거의 대 끝내고, 간단한 코드로 실행을 시켰을 때, 터미널 창으로 아래와 같은 에러가 나는 경우입니다. """ cmd : 'cmd' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + cmd /C C:\Users\.... """ 와 같은 형태로 에러가 나는 경우,

(해결 2→) 우선 영상에서처럼 환경변수 등록을 제대로 되었는지? 확인해서 cmd ver 버전 확인이 제대로 되었다면, 그래서 경로 문제는 아닌 경우.... VS-code를 윈도에 처음 설치하게 되면, window의 경우 terminal이 기본으로 powershell로 설정되어 있을 거예요. VS-Code 화면 하단의 TERMINAL 창에 보면 , 오른쪽에 [ 1:powershell ] 로 선택되어 있을 텐데, 그걸 cmd로 변경하고 다시 해보세요. ( powershell 부분에서 Select Default Shell 선택 후, Command Prompt를 입력 및 선택하시면 되실 거예요 ) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(에러 증상 3. ) """ 액세스가 거부되었습니다. 터미널 프로세스 "C:\Windows\System32\cmd.exe /d /c cmd /C C:\vscode_c\database"이(가) 종료되었습니다(종료 코드: 1). """ 이러한 오류코드가 뜨면서 실행이 종료되었을 경우!

(해결 3→) 현재의 증상은, 액세스 관련 문제는 대부분 윈도 보안 정책과 관련되어 있을 거에요. 처음 실행했을 때 파일 생성은 되었지만, 수정후 다시 실행 파일을 만들면서 덮어쓰려하니 액세스 거부하는 걸로 보여지는 증상인것 같아요. ※ VS-Code 터미널의 권한을 관리자 권한으로 실행되도록 아래 내용 처럼, 해보세요. 1. 바로 가기 또는 앱 / exe를 마우스 오른쪽 버튼으로 클릭 2. 속성으로 이동 3. 호환성 탭 4. "관리자 권한으로이 프로그램 실행"을 선택하세요. 그럼, VS-Code를 모두 닫고 다시 실행해서 확인해보세요. 만약, 그래도 같은 증상이 있다면, C코드 작성파일이 저장되는 위치(폴더)를 윈도우(보통 C:) 드라이브가 아닌 다른 드라이브(D:)나 혹은 윈도우 문서 폴더 등과 같은 권한 영향이 미치는 곳을 피해서 저장 및 작성해보세요. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(에러 증상 4. ) printf(); 에 한글 치면 인식 못하고 이상한 문자로 바뀌어서 출력되는데 어떻게 하면 해결할 수 있나요?

(해결 4→) VS-Code 한글 깨지는 현상 해결 하기 : Vs-code는 기본 설정 언어가 한글 인식이 안 되는 utf-8 코드로 되어 있어요. 이를 한글이 깨지지 않는 EUC-KR로 바꾸어 주시면 되는데요, 제일 빠른 방법은, vs-code 툴 제일 아래 파란 표시줄 보시면, 우측에 ' utf-8 '이라고 표시되어 있는 부분이 있을 텐데요, 그 부분을 클릭하면, 화면 상단 중앙에 메뉴가 뜹니다. 그럼, ReOpen Encoding... 옵션을 클릭해서 나타나는 메뉴 중 , ' Korean(EUC-KR) '을 클릭하면 됩니다. 그럼, 파란색 표시줄에 EUC-KR로 바뀌게 되는데요, 그런데, 기존 작성된 printf("ㅌㅌㅌㅌㅌ"); 코딩 부분의 한글은 아직 깨져 있는 상태 그대로 있을 텐데요, 저장 후 다시 로딩하면 한글이 제대로 뜹니다. 또는 Un-do 명령어인 이전으로 돌리기( Ctrl+Z ) 키 동시에 누른 후, 다시 앞으로 되돌리기 ( Ctrl+Y) 키 눌러보면, 깨지지 않은 채로 리로딩되어 있을 거예요. 한글 설정으로 바꾸는 다른 방법은, Vs-Code 툴의 좌측 아래에 보면 톱니바퀴 모양의 , 혹은 메뉴 중에 Settings(설정) 메뉴를 클릭 》 검색창에 "encoding" 입력 후, Files : Encoding 항목의 옵션을 ' Korean(EUC-KR) ' 로 바꾸면 되세요~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(에러 증상 5. ) 영상에서 설정한 빌드 단축키나 실행 단축키 관련해서 제대로 실행이 되지 않는 경우 : 혹은, ctrl+alt+c 를 했을 때 하나의 gcc.exe 활성 빌드밖에 없고 ctrl+alt+r은 실행이 되지 않는 경우 등 :

(해결 5→) VS-code 세팅 과정에서 특정 부분 셋업을 진행하다 보면, tasks.json 파일이나, 다른 설정 파일의 내용이 분명히 영상 따라 바꾸어 놓았지만, 다시 이상하게 일부분이 변경되는 경우가 생길 수 있습니다. 따라서, 작업 폴더에 생성해 놓았던 tasks.json 파일을 열어서 현재의 내용은 다시 모두 지우고, 본 영상의 더보기에 링크해드린 tasks.json 파일의 내용을 다시 붙여 넣기(저장) 해보세요. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(에러 증상 6. ) 만약, 모두 설치를 제대로 진행하고서, C언어로 연습 코딩을 하였을 때, 아래와 같은 에러 증상이 나는 경우입니다. @/include 오류가 검색되었습니다. includePath를 업데이트하세요. 이 변환 단위(D:\(폴더명)\VSC\HelloWorld.c)에는 물결선을 사용할 수 없습니다. 파일 소스을(를) 열 수 없습니다. "stdio.h" , 처럼 C언어 코드 자체가 인식이 안 된다고 느끼신 다면,

(해결 6→) 현재 VS-Code에 영상을 따라, C/C++ 언어와 같은 추가 패키지를 제대로 설치했을 경우로 가정하고 말씀드릴게요. VS-code 화면 하단에 보시면, 파란색 작업 표시줄 같은 것이 보일 거예요.(영어로, Status Bar라고 되어 있고요,
혹시 x를 눌러 닫아 버렸다면, VS_Code 상단의 View 메뉴로 가서 》 Appearance 》 'Show Status Bar'를 체크하면 됩니다.) 그래서, 하단 메뉴 표시 바에 보시면, C언어가 아닌, HTML이나, 다른 언어 같은 걸로 설정되어 있을 거예요. 거기 부분이 'C'로 표시되어 있어야, C언어 코드로 작동 됩니다. 만약 C 가 보이지 않는 다면, 다른 언어로 표시된 부분을 클릭 하시면, 화면 상단 중앙에 언어 선택하는 풀다운 메뉴가 뜰거에요. 그럼 거기서 C나 혹은 C++ 을 원한다면, 선택하시면, C언어 모드로 바뀌고 C언어로 코드해석이 잘 될 거에요. 그리고 만약, C 하다가 파이썬이나 다른 언어로 하단 메뉴를 눌러 바꾸면서 왔다 갔다 작업을 해야 한다면,
 VS-Code File 메뉴에 있는 "Save WorkSpace As..." 메뉴를 이용하시면 되는데요, 각 언어별로 저장해서 불러오기 형태로 활용하시면 가장 편리하게 멀티 언어 코딩 환경을 사용하실 수 있습니다.

(에러 증상 7. )  jsons 파일 변경해서 잘 먹던 단축키 (예를 들어, 빌드 : ctrl+ alt + C , 실행 : ctrl+ alt + R ) 가 어떤 설정 작업한 이후에 다시 실행이 안 되는 경우!

(해결 7→) jsons 파일은 워크스페이스를 새로 지정하거나, 마켓 프로그램을 추가 설치하거나 등의 작업에서 그 내용이 디폴트로 리셋 되는 경우가 종종 있습니다. 이럴 땐, 영상을 통해 이미 알려드린 jsons 파일의 내용을 다시 한번 복사 붙여 넣기 해서 저장하시면 잘 실행 될 거예요.

 

(에러 증상 8. ) 실행할 때 printf문 같은 것은 실행이되지만 scanf나 다른 변수를 같이쓰면 내부 또는 외부명령, 실행할 수 있는 프로그램, 또는 배치파일이 아니라는 에러 메시지를 띄우는 경우가 있습니다.  

(해결 8→) 이런 경우 별도로 설치된 Macafee safe와 같은 안티바이러스 혹은 방화벽 프로그램 같은 것 때문에, 제대로 동작이 안 될 수 있으니,  관련기능을 해제하거나, 옵션 변경 또는 프로그램을 언인스톨(삭제)해 보세요. 

 

(에러 증상 9. ) 한글 깨짐 문제 해결  (한글은 터미널창으로 출력결과가 깨지는 경우가 있고,  이해결을 위해 EUC-KR로 변경하였을 경우, 터미널 결과 출력에서 한글은 깨지지 않지만, 본문의 코딩되어 있던 한글이 깨지는 경우에 있어 해결방법입니다. 

1. EUC-KR로 바꾸고서 한글은 출력되는데, 본문에 코딩되어 있던 글이 깨져 나올 때는, EUC-KR로 바꾸고 바로 Ctrl+Z 키를 눌러주면, 본문에 깨진 한글이 다시 되돌아옵니다. 그리고 보통은 터미널에서도 잘 출력되구요.
2. UTF-8을 EUC-KR로 굳이 변경하지 않고도 한글 깨지는 문제를 해결 할 수 있는 방법도 있어요.
: [제어판 → 시계 및 국가 → 국가 또는 지역 → 관리자 옵션 → 시스템 로캘
변경 → Beta: 세계 언어 지원을 위해 Unicode UTF-8 사용 ]을 해주면 한글 깨짐을 해결할 수 있습니다.

 

(에러 증상 10) cmd : 'cmd' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오.

(해결 10→) 먼저, 아래 두 가지 부분을 살펴보세요.
1. 시스템 환경변수의 경로(Path) 등록 부분이 제대로 되었는지? 다시 한번 확인해 보세요.

2. vscode를 처음 설치하게 되면, 기본 터미널이 cmd가 아니라 Powershell로 되어 있는데, 그부분을 cmd로 바꾸어 주세요.
VS-Code 화면 하단의 TERMINAL 창에 보면 , 오른쪽에 [ 1:powershell ] 로 선택되어 있을텐데, 그걸 cmd로 변경하고 다시 해보세요.
( powershell 부분에서 Select Default Shell 선택 후, Command Prompt를 입력 및 선택하시면 되실거에요 )

 
[ 기타 자주 물어보는 질문 ]

질문 1)  컴파일을 c로 할지 c++할지 선택하는 과정을 없엘수는 없나요~

질문 2) 실행 버튼을 누르면 execute가 나온다음에 엔터를 쳐야 실행되는데 이것 또한 안나오게 할수는 없을까요?
답변 ① tasks.json 파일을 열어보면(VScode에서 바로 열어도 됩니다) 각 언어마다(C 와 C++) 아래와 같은 항목이 있을 거예요.
"group": "build",
그럼,  C나 C++ 둘 중에 주로 사용하는 언어의 이 부분을 주석 처리해 놓고, 아래와 같이 추가해 넣어 보세요.
 
"group": {
"kind": "build",
"isDefault": true
},
저장하고 vscode를 재 실행하면 이후로는 추가해 넣은 언어가 ctrl+alt+c 누를 때 선택창이 뜨지 않고 바로 빌드 될 거예요.
 
그럼, C언어든, C++이든 고정적으로 사용하는 언어로 지정해서 컴파일 하면 될거예요. 만약, 둘 다 섞어 쓰게 되는 경우라면, 보통 C언어 컴파일러인 gcc.exe는 C를 완벽하게 컴파일 하지만, C++은 컴파일을 모두 커버하지 못하는 부분이 있고,
반대로, C++ 컴파일러인 g++.exe는 C++과 C까지 모두 컴파일 하는 데는 크게 무리 없기 때문에, g++.exe 컴파일러를 지정해서 사용하면 될거예요.
-----------------------------------------------------------------------------------------------------------------------------
답변 ② 익스큐트 없이 바로 실행되게 하기 위해서는, 마찬가지로, 같은 tasks.json 파일을 열어서,
ctrl + F 찾기를 눌러 test 를 찾은 다음 아래와 같이 , 원래 있던 "group": "test" 부분은 주석 처리 해버리고, 아래 4줄을 추가해 주세요. 그리고 저장 후, 재실행 후 해보시면, ctrl + alt + r 키를 누르면 execute 가 뜨지 않고 바로 실행 될 거예요.
 
// "group": "test",
"group": {
"kind": "test",
"isDefault": true
},
 

 

< 위 질문과 반대의 질문에 대한 답변 : >

① 질문 :  ctrl+alt+c를 눌렀을때 c나 c++선택창이 뜨지 않고 그냥 컴파일이 되는데 뭐가 문제일까요?

② 답변 : 
안녕하세요~
중간에 어떤 다른 작업으로 인해 tasks.json의 내용 또는 일부가 변경되거나 지워지는 경우가 있습니다. 그럴때는 제공해드리는 tasks.json의 내용을 다시 복사 붙여넣기 하시면 대부분 해결 되실거에요.

그리고, 그렇게 해도 처음 몇 번은 목록이 뜨다 다시 안 뜨는 경우가 생길 수 있는데요,
① tasks.json 파일을 열어보면(VScode에서 바로 열어도 됩니다) 각 언어마다(C 와 C++) 아래와 같은 항목이 있을 거예요. "group": { "kind": "build", "isDefault": true },
이 부분은 해당 컴파일러를 디폴트로 설정해 버려 , 목록 없이 바로 컴파일 되도록 해버립니다.
그래서, 우선 이 부분 4줄을 주석 처리 해 놓고, 아래의 한 줄을 새로 입력해 보세요.
"group": "build", (C 영역 또는 C++ 영역 둘 다 이렇게 되어 있으면 됩니다)
그리고, 저장하고 vscode를 재 실행하면 이후로는 ctrl+alt+c 누를 때 선택창이 뜰거에요.
그런데, 이후로는 목록이 두 개가 아니라 4~5개 이상 뜨게 되는데요, 이유는 vs-code 또는 윈도에서 기본 제공하는 clang 이라는 컴파일러가 감지 되면서 목록에 함께 뜨는 것으로 보이는데요. 어째튼 그 것들 중에서 원하는 것으로 선택해서 컴파일 하면 됩니다.
음... 일단 앞으로 계속 사용해 보시면, 오히려 목록이 뜨는 게 별 의미 없고 번거로우실 거에요. 그럴 때는 위에서 조치한 것을 다시 반대로 돌려놓으면 됩니다.
만약 그렇게 하겠다면, C언어든, C++이든 고정적으로 사용하는 언어로 지정해서 컴파일 하면 될거예요. 만약, 둘 다 섞어 쓰게 되는 경우라면, 보통 C언어 컴파일러인 gcc.exe는 C를 완벽하게 컴파일 하지만, gcc.exe로는 C++의 컴파일을 모두 커버하지 못하는 부분이 있고, 반대로, C++ 컴파일러인 g++.exe는 C++과 C까지 모두 컴파일 하는 데는 크게 무리 없기 때문에, 보통은 g++.exe 컴파일러를 디폴트로 지정해서 사용하면 될거예요.
-----------------------------------------------------------------------------------------------------------------------------
그리고 추가로 실행 단축키도(ctrl + alt + r ) execute 글자를 별도로 선택하지 않고 지정한 컴파일러로 바로 실행 시킬 수 있는데요, 바로 실행되게 하기 위해서는, 마찬가지로, 같은 tasks.json 파일을 열어서, ctrl + F 찾기를 눌러 test 를 찾은 다음 아래와 같이 , 원래 있던 "group": "test" 부분은 주석 처리 해버리고, 아래 4줄을 추가해 주세요. 그리고 저장 후, 재실행 후 해보시면, ctrl + alt + r 키를 누르면 execute 가 뜨지 않고 바로 실행 될 거예요.
// "group": "test",
   "group": {
   "kind": "test",
   "isDefault": true
   },

 

 

 
※ 추가적으로 좀더 상세히 설치하고 설정하는 영상(아래 링크)을 다시 만든 게 있는데, 이부분을 참고해보세요. powershell → cmd 로 변경하는 부분도 설명되어 있어요.
 


감사합니다~  오늘도 힘내시고, 좋은 하루 보내세요~  ^^;

 

반응형

【 C 언어 】#66 문자열을 형식화하기 sprintf()

Language/C & C++ 2019. 1. 15. 10:11 Posted by 엑소더스팩토리
반응형

【 C 언어 #66 문자열을 형식화하기 sprintf()

 

 sprintf() 함수는 printf() 함수와 사용방법이 동일하나 차이점은 printf()함수는  화면에 출력하기 위해 사용하는 것이고, sprintf()함수는 버퍼에 출력하기 위해 사용하는 함수이다. 


▶ 문제1  : 문자열을 형식화하는 함수인 sprintf() 함수를 일반적으로 사용되는 타입(int, char, long, ...)들을 이용하여 나타내는 프로그램을 작성하라. 


▶ 실행 결과 :

(이미지 클릭, 확대해서 보세요)


▶ 포인트 


- strrev() 함수 원형 :  int sprintf(char* buffer, const char* format [,argument]...);

  

- 함수 사용을 위해 sprintf() 함수가 포함 되어 있는 <stdio.h> 헤더파일을 선언하라.

- 문자 배열 변수 buffer를 정의한다. 문자열은 최대 '99자'까지 저장 가능 하다.

- sprintf() 함수를 사용하면, 버퍼에 입력되는 문자를 마음대로 조작할 수 있다. 

- sprintf() 함수는 지정된 파일에 원하는 내용을 입력할 수 도 있다. (log파일 작성 등)



▶ 프로그램 (답안 예시) : 

(이미지 클릭, 확대해서 보세요)


▶ 프로그램 설명 : 

- char buffer[100];  는 버퍼 배열을 선언하여 , sprintf()함수를 사용한 문자열을 저장 할 수 있도록 한다. 

- puts() 함수를 사용하여 (또는 printf()) 버퍼에 저장된 값을 출력하도록 한다. 


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


▶ 소스코드 다운로드 :  

66 문자열 형식화하기 sprintf().cpp



반응형

【 C 언어 】#65 문자열을 반대로 뒤집기 strrev()

Language/C & C++ 2019. 1. 3. 14:20 Posted by 엑소더스팩토리
반응형

【 C 언어 #65 문자열을 반대로 뒤집기 strrev()

 

 strrev() 함수는 입력받은 반대로 뒤집어 주는 함수이다. 


▶ 문제1  : 문자열을 입력 받게 하고 입력 받은 문자열의 순서를 뒤집어서 표시하는 프로그램을 작성하라. 


▶ 실행 결과 :

(이미지 클릭, 확대해서 보세요)



▶ 포인트 


- strrev() 함수 원형 :  char* strrev(char* string);

  

- 함수 사용을 위해 strrev() 함수가 포함 되어 있는 <string.h > 헤더파일을 선언하라.

- 대문자 이외의 소문자나 숫자 기타 특수 문자 등은 변환되지 않는다.


▶ 프로그램 (답안 예시) : 

(이미지 클릭, 확대해서 보세요)


▶ 프로그램 설명 : 

- strlen(string) == 0) break;  는 입력된 문자가 없을 경우 do 문을 빠져 나오게 된다. 

strrev (string) 입력 받은 문자들을 배열에 저장 시키고 이를 반대의 선서대로 출력표시 해주는 함수 있다. 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


▶ 소스코드 다운로드 :  

65 문자열을 반대로 뒤집기strrev().cpp



반응형
반응형

【 C 언어 #64 문자열을 소문자로 변환하기( strlwr())

 

 strlwr() 함수는 입력받은 문자열에서 대문자를 소문자로 변환해주는 함수이다. 


▶ 문제1  : 문자열을 입력 받게 하고 입력 받은 문자열에서 대문자를 소문자로 치환하도록 하는 프로그램을 작성하라. 


▶ 실행 결과 :

(이미지 클릭, 확대해서 보세요)



▶ 포인트 


- strlwr() 함수 원형 :  char* strlwr(char* string);

  

- 함수 사용을 위해 strlwr() 함수가 포함 되어 있는 <string.h > 헤더파일을 선언하라.

- 대문자 이외의 소문자나 숫자 기타 특수 문자 등은 변환되지 않는다.


▶ 프로그램 (답안 예시) : 

(이미지 클릭, 확대해서 보세요)


▶ 프로그램 설명 : 

- strlen(string) == 0) break;  는 입력된 문자가 없을 경우 do 문을 빠져 나오게 된다. 

strlwr (string) 입력 받은 문자 중에서 영문자 중 대문자만 모두 소문자로 변환한다.  영문자를 제외한 문자는 그대로 출력한다. 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


▶ 소스코드 다운로드 :  

64 문자열을 소문자로 변환하기strlwr().cpp



반응형