일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 마야
- Costume
- character
- C언어
- 개발블로그
- HTML
- 프로그래밍
- js
- 언리얼엔진
- 3d
- unreal
- charactercreator
- modeling
- ue5
- visualstudio
- UnrealEngine
- autodesk
- 티스토리챌린지
- c++
- animating
- ANIMATION
- JavaScript
- 개발
- 오블완
- cc4
- C
- reallusion
- 애니메이팅
- iclone
- 3dmodeling
- Today
- Total
개발나라 스용공주
[C++] #002 비주얼스튜디오(Visual Studio 2022)로 간단한 입출력해보기 Simple InputOutput Example with Visual Studio 2022 본문
[C++] #002 비주얼스튜디오(Visual Studio 2022)로 간단한 입출력해보기 Simple InputOutput Example with Visual Studio 2022
스용공주 2023. 2. 17. 01:05오늘은 비주얼스튜디오를 통해 간단한 입출력을 하는 프로그램을 짜보겠습니다.
우선 저는 비주얼스튜디오2022(Visual Studio 2022)을 사용하였습니다.
[비주얼스튜디오 2022 다운받기 링크]
https://visualstudio.microsoft.com/ko/downloads/
Visual Studio Tools 다운로드 - Windows, Mac, Linux용 무료 설치
Visual Studio IDE 또는 VS Code를 무료로 다운로드하세요. Windows 또는 Mac에서 Visual Studio Professional 또는 Enterprise Edition을 사용해 보세요.
visualstudio.microsoft.com
[1. 프로젝트 속성 변경하기]
코드 작성 이전 기본적으로 프로젝트에 설정해줄 프로젝트 속성은 아래 글을 참고하여 먼저 설정한 뒤 이 포스팅에 있는 내용을 따라해주셔야 작동되니 아래 글을 참고 부탁드립니다.
https://hwangseoyoung.tistory.com/21
[C++] #001 비주얼스튜디오 프로젝트 속성 설정하기 Set Project properties with Visual Studio 2022
오늘은 앞으로 사용할 비주얼스튜디오에서의 프로젝트 속성 값을 변경해주는 작업을 담은 글이다. 이 속성 값을 변경하면 따로 번거롭게 경로를 설정하지 않고도 헤더파일만 명시해주면 프로
hwangseoyoung.tistory.com
[2. Visual Studio 개발 환경 설정하기]
먼저 간단한 개발환경을 설정해보겠습니다.
별 특별한 설정은 아니고 지금은 실행하는 프로그램의 규모가 작아 이 설정이 미미한 결과 차이이지만 나중에 프로그램의 규모가 커지면 빌드 프로세스 등의 속도를 향상시키고 충돌을 방지시켜줄 수 있습니다.
먼저 아래 사진과 같이 프로젝트를 생성해준 뒤 우측에 위치한 솔루션 탐색기에서 프로젝트명(사진에서의 'CPP_0212'이 위치한 부분)을 우클릭한 뒤 '추가(D) → 새 폴더(D)'를 눌러 Header파일과 Source파일 총 2개의 파일을 만들어줍니다.
그리고 만들어진 폴더를 우클릭하여 '추가(D) → 새 항목(D)'을 눌러 아래 사진과 같이 Header폴더에는 00_oop.h, 01_Test, Stdafx.h라는 이름의 항목들을 생성하고 Source폴더에는 00_oop.cpp, 01_Test.cpp, Stdafx.cpp 각 폴더마다 3씩 항목들을 생성해줍니다. 새 항목 생성에 대한 설명은 밑에 부록 설명을 참고해주시기 바랍니다.
[부록설명1 - 새 항목 생성하기]
새 항목 생성 시 Header폴더에 만들 것은 헤더파일이므로 아래 사진에서 2번 즉 '헤더 파일(.h)'를 눌러 이름을 설정한 뒤 추가해주고 Source폴더에 만들 것은 소스파일이므로 아래 사진에서 1번 즉 'C++ 파일(.cpp)'를 눌러 이름을 설정한 뒤 추가해준다.
[3. 코드 작성하기]
아래에 있는 코드 들을 해당 파일들에 따라서 작성해주면 아래 작성된 결과값들이 출력됩니다.
작성 전 먼저 파일의 관계도에 대한 설명을 간략하게 드리겠습니다。
각 파일의 관계성은 다음 표와 같습니다。
여기서 01_Test.h의 헤더파일에서 정보 은닉이란 변수에 어떤 것이 있고 내부 함수의 구체적 내용들을 사용자가 알 수 없고 어떤 형태인지만 간략하게 명시되어져 있는 것을 의미합니다.
그리고 빨간색 화살표가 의미하는 것은 가리키고 있는 파일이 가리켜지고 있는 파일을 사용하고 있다는 것을 의미합니다. 우리는 .h 형식으로 끝나는 파일들을 헤더 파일이라고 부르는데 이 헤더 파일에 기능을 만든 뒤 기능을 제공받을 수 도 있습니다. 예시로 C언어에서 출력을 할 때 printf()는 우리가 선언하지 않은 함수지만 출력을 할 때 사용하는 함수입니다. 이것은 어디에 정의되어져있을까요? 우리가 #include <stdio.h>라는 것을 작성해주는 것이 이 이유 때문입니다. printf()가 stdio.h에 선언되어져있는 것이기 때문입니다.
이러한 원리와 마찬가지로 우리도 Stdafx.h 헤더파일에 기본적인 코드를 미리 작성해두고 이 헤더를 #include "Stdafx.h"를 사용해 생략해주는 식으로 코드를 짜보겠습니다.
[Stdafx.h]
#pragma once
#include <iostream>
#include <string>
using namespace std;
우리는 이제 #include <iostream>과 #include <string>을 생략할 수 있습니다. 그리고 using namespace std; 또한 미리 선언해두어 C++에서의 출력 시 사용되는 cout<<~<<endl;을 좀 더 간략하게 사용할 수 있게 되었습니다.
[Stdafx.cpp]
#include "Stdafx.h"
[00_opp.h]
#pragma once
#include "01_Test.h"
[00_opp.cpp]
#include "Stdafx.h"
#include "00_oop.h"
[01_Test.h]
#pragma once
void Test();
위 void Test();과 같이 함수의 원형을 명시해줍니다. 여기서 함수 내의 매개변수가 '자료형 매개변수명'일 경우 매개변수명을 생략하고 '자료형'만 작성해줘도 실행 가능합니다.
[01_Test.cpp]
#include "Stdafx.h"
#include "01_Test.h"
void Test()
{
{
cout << "Hello World!\n" << endl;
}
{
int num = 100;
cout << num << endl;
}
}
[결과] |
Hello World! |
100 |
위의 코드와 같이 cout과 endl 사이에는 "(쌍따옴표)로 감싼 문자를 작성하여 출력해줄 수 도 있고 변수에 값을 넣은 뒤 변수명만 작성하여 출력해줄 수도 있습니다.
cpp파일 안에 다른 코드를 작성해보겠습니다.
이 코드는 int형 변수 num에 정수형 값을 키보드로 입력 받은 뒤 입력받은 값을 출력하는 형태입니다.
#include "Stdafx.h"
#include "01_Test.h"
void Test()
{
{
int num;
cin >> num;
cout << num << endl;
}
}
[결과] |
500 |
500 |
(위의 결과에서 첫번째 줄의 500은 내가 입력해준 값이고 두번째 줄의 500은 내가 키보드로 입력한 값을 출력해준 값)
cin은 입력값을 키보드로부터 받는 것이고 cout은 출력값을 출력하는 기능을 하는 것을 볼 수 있습니다.
C언어와의 입출력의 차이점이 있다면, C++은 삽입 연산자(<<)와 추출 연산자(>>)로 데이터의 흐름을 더 직관적으로 나타내며 입출력 데이터의 타입을 자동으로 반환하여 더욱 편리하고 안전하다는 장점이 있습니다.