본문 바로가기
반응형

코딩/C, C++9

[C++] 문자열을 정수로 바꾸기, 문자열 파싱하기 (stringstream, sstream) 오늘은 C++의 stringstream에 대해서 알아보겠습니다. C++로 코딩을 하다보면, 한 문자열을 파싱하는 경우, 또 한 문자열에서 특정 데이터타입을 추출해야하는 경우가 있습니다. 이때 sstream은 아주 유용한 라이브러리 입니다. #include 우선, sstream을 불러와야합니다. 데이터 타입 추출(변환) 다음은 정수가 공백" " 으로 구분된 문자열을 정수형태 데이터로 추출하는 예시이다. #include #include #include #include int main() { std::string input_string = "10 20 30 40 50"; std::stringstream ss(input_string); std::vector numbers; int num; while (ss >>.. 2024. 3. 24.
[C++] vector 기본 문법 및 명령어 고정 크기의 배열 : array 가변 크기의 배열 : vector 실행중에 메모리 할당. Overhead 프로그램 실행흐름에서 동떨어진 위치의 코드를 실행할 때, 추가적으로 시간, 메모리 등의 자원이 사용되는 현상 capacity vs size size = 할당 된 요소 수 capacity = 메모리에 할당 된 용량의 크기이다. 원래 초기화 했던 vector를 넘어가면, size는 length처럼 가변적으로 변한다. capacity또한 변하긴 하는데, 2배 단위로 늘어나고, pop과 같이 요소를 삭제해도 다시 줄어들지 않는다. shrink_to_fit()와 같은 함수를 사용하면 다시 줄일 수 있다. 기본 문법 및 명령어 ===참조=== v[idx] idx 번째 원소 참조 v.at(idx) idx번째 원소.. 2024. 3. 22.
[C++] 포인터 call by reference, new 연산자 오늘은 C++에서 포인터와, new 연산자 나아가서 vector 에 대해서 알아볼 것이다. 포인터 : what var point? 포인터는 말 그대로 무엇을 가르키는지 주소(위치)를 나타냅니다. 간접 참조 연산자 *을 사용하여 표현할 수 있습니다. int a = 6; //일반 변수 a int* b; //변수의 주소(위치)를 담는 포인터 변수 b b = &a; // a의 주소를 b에 대입, 이제 b는 a를 가르키는 포인터 cout 2024. 3. 20.
C언어로 게임 만들기(7) - 완성. (코드, 구현 영상) https://jubrodev.tistory.com/8 C언어로 게임 만들기(6) - 점수 및 랭킹시스템(파일 입출력) https://jubrodev.tistory.com/6 C언어로 게임 만들기(5) - 게임 씬 추가(getch함수, exit함수) https://jubrodev.tistory.com/4 C언어로 게임 만들기(4) - 적 구현(rand함수, srand함수, time함수) https://jubrodev.tistory.com/3 C언 jubrodev.tistory.com 지난시간 점수와 랭킹시스템을 넣음으로써 C언어 게임만들기가 끝이 났다. 사실 자잘한 버그(이름 입력시 가끔 이름 중복 등) 이 있지만 게임자체에 지장이 안가기에 패스.... 이제 이 프로젝트를 놓아주려고 한다 ㅎㅎ 그리고 이.. 2023. 6. 2.
C언어로 게임 만들기(5) - 게임 씬 추가(getch함수, exit함수) https://jubrodev.tistory.com/4 C언어로 게임 만들기(4) - 적 구현(rand함수, srand함수, time함수) https://jubrodev.tistory.com/3 C언어로 게임 만들기(3) - 총알 발사 및 정보표시 지난 시간에는 캐릭터 이동까지 구현했다. C언어 게임 만들기(2) - 캐릭터 출력 및 이동 https://jubrodev.tistory.com/1 C언어로 게 jubrodev.tistory.com 저번시간엔 적 구현까지 끝냈습니다. 사실 게임의 메인화면은 구성이 다 끝난것이죠, 근데 처음 시작메뉴화면이랑, 게임오버 화면을 만들며 더 부족한 부분을 수정하려고 합니다!! 게임시작 화면 화면전환은 쉽습니다. Unity의 Scene order처럼, 각 화면에 해당하는.. 2023. 5. 28.
C언어로 게임 만들기(4) - 적 구현(rand함수, srand함수, time함수) https://jubrodev.tistory.com/3 C언어로 게임 만들기(3) - 총알 발사 및 정보표시 지난 시간에는 캐릭터 이동까지 구현했다. C언어 게임 만들기(2) - 캐릭터 출력 및 이동 https://jubrodev.tistory.com/1 C언어로 게임 만들기(1) - (콘솔창 세팅, window.h, conio.h) 학교 동아리 프로젝트에서 C jubrodev.tistory.com 지난 시간에는 총알 구현과 UI 표시를 하였다. 오늘은 이제 적을 구현해볼거다! 난수생성 랜덤함수 - rand(), srand(), time() 오늘 중점적으로 이용할 함수는 rand()함수 이다. rand함수란? 0 부터 RAND_MAX사이의 정수를 반환해준다. RAND_MAX는 stdio.h에 정의된 상수.. 2023. 5. 20.
C언어로 게임 만들기(3) - 총알 발사 및 UI 표시 지난 시간에는 캐릭터 이동까지 구현했다. C언어 게임 만들기(2) - 캐릭터 출력 및 이동 https://jubrodev.tistory.com/1 C언어로 게임 만들기(1) - (콘솔창 세팅, window.h, conio.h) 학교 동아리 프로젝트에서 C언어로 게임만들기를 하고 있어서 한번 게임을 만들어보려고 한다. 내가 만들고 싶은 게 jubrodev.tistory.com 투사체 코드 오늘은 이 캐릭터가 총알을 쏘는 것을 구현할 것이다. 1 2 3 4 5 6 7 8 //탄막 정보 구조체 typedef struct bullet { int x, y; bool Active; }Bullet; Bullet Bullet_info[MAXBULLET]; cs 일단 총알 하나당 x,y의 위치와 이 총알이 현재 화면에 .. 2023. 5. 19.
C언어 게임 만들기(2) - 캐릭터 출력 및 이동 https://jubrodev.tistory.com/1 C언어로 게임 만들기(1) - (콘솔창 세팅, window.h, conio.h) 학교 동아리 프로젝트에서 C언어로 게임만들기를 하고 있어서 한번 게임을 만들어보려고 한다. 내가 만들고 싶은 게임은 2D 종스크롤 슈팅게임을 만들어보고싶다. 일단 필요한 기능들을 도식화 jubrodev.tistory.com 저번 시간엔 콘솔창을 세팅하였다. 오늘은, 이제 주인공 캐릭터(기체)를 만들고, 거기서 탄막이 나오는것까지 코딩을 해볼 것이다. 맵 설정 자고로 게임을 처음 시작할때 기본 맵을 설정한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 void FillMap(char str[], char str_s, int max_va.. 2023. 5. 14.
C언어로 게임 만들기(1) - (콘솔창 세팅, window.h, conio.h) 학교 동아리 프로젝트에서 C언어로 게임만들기를 하고 있어서 한번 게임을 만들어보려고 한다. 내가 만들고 싶은 게임은 2D 종스크롤 슈팅게임을 만들어보고싶다. 일단 필요한 기능들을 도식화 해봤다 이렇듯 필요한 기능들을 정리해두고, 이 기능전에 제일 먼저 콘솔창을 세팅해보자!! windows.h C 프로그래밍 언어에서 window.h는 Windows API(응용 프로그램 프로그래밍 인터페이스)의 함수들을 포함하는 C 및 C++ 헤더파일이다. 창 및 메세지 처리 : 새 창 만들기, 창 업데이트, 이벤트 처리 : 어쩌면 가장 많이 쓸수도 있는 키보드, 마우스 입력 이벤트 다루기, 창 크기 다루기 등등 그래픽 및 드로잉 : 함수 및 도형 그리기 가능 창 클래스 : 윈도우 클래스 등록, 속성정의 conio.h co.. 2023. 5. 13.