2017/06 5

[C/C++] char[] 문자열 초기화시 주의할 점

문자열을 동적 메모리를 할당하여 초기화 할 때 주의해야할 점이 있다 char str = new char[1]; delete[] str; //new[]를 사용하여 초기화 시킨 //포인터 및 널 포인터와 호환 char words[15] = L"bad idea"; char *p1 = words; char *p2 = new char; char *p3; delete []p1; //결과를 알 수 없다, 사용하지 말자 delete []p2; //결과를 알 수 없다, 사용하지 말자 delete []p3; //결과를 알 수 없다, 사용하지 말자 new []를 사용하여 초기화한 포인터나 널 포인터가 delete []와 호환되기 때문에 주의할 필요가 있다 p1, p2, p3와 같은 경우에는 delete []와 호환되지 않기..

[Java] Laser Maze 게임 Prototype

어떤 분의 부탁으로 Laser Maze 게임을 만들어보았다아직 기술이 부족하여 의뢰인 분께서 요구하신 완성까지는 많이 못미치지만 실력껏 만들어보았다Java를 이용하여 제작했으며 GUI 프로그래밍을 이용하였다Laser Maze introduction (ENG) 게임에 대한 설명을 간단하게 해보자면 다음과 같다앞면에는 문제를 뒷면에는 그 문제에 대한 해답을 가진 카드가 있다문제는 사용해야 할 보드말의 갯수와 종류, 보드판에 반드시 놓아야 할 보드말의 위치와 방향이 주어진다보드말을 조합하여 Target/Mirror 라는 보드말의 빨간쪽에 레이저가 닿아야 게임에서 승리한다보드말의 종류는 다음과 같다Laser x 1 : 화살표의 방향으로 레이저를 쏜다Target/Mirror x 5 : 타겟, 거울 또는 동시에 사..

[C/C++] 난수 생성하기, rand(), srand()

난수 생성하기확률을 이용하는 프로그램을 작성할 때 난수를 생성할 필요가 있다난수란 정의된 범위 내에서 무작위로 추출된 수를 말한다 [출처: 위키백과]난수는 어떻게 생성할까?난수를 생성해주는 함수는 rand()라는 함수가 있다rand() 함수의 원형은 stdlib.h 또는 cstdlib (C++) 파일에 포함되어 있다 #include #include int main() { std::wcout

[C/C++] 한글 출력 오류, 유니코드, MBCS, 국제화

한글 출력 오류VS 2017을 이용하면서 학습하던 중에 갑자기 한글 출력이 이상하다... 컴파일러가 음절 사이사이에 공백이 생긴 상태로 출력한다 #include #include using namespace std; int main() { char ch1[20] = "안녕하세요."; char ch2[20]; string str1 = "양배추한닢입니다."; string str2; cout ch2; cout str2; cout wcscat() strchr() -> wcscmp() strcpy() -> wcscpy() strstr() -> wcsstr() strrev() -> _wcsrev() 유니코드 문자를 다루는 방법을 알았으니 코드를 수정해보자 하지만 이번엔 출력조차 하지 못한다 왜냐하면 아직 한가지 작업..

728x90