본문 바로가기

분류 전체보기82

[C] wchar_t 함수 ( wcslen( ), wcscat_s( ) ) [C] wchar_ 함수 ( wcslen( ), wcscat_s( ) ) 이번 포스팅에서는 문자열 길이를 알려주는 함수와 2개의 문자열을 이어 붙여주는 함수에 대해 알아보고, 직접 구현해보는 것까지 해보겠다. #include 을 추가하는 것을 잊지 말자. - wcslen( ) 문자열 길이를 알려주는 함수이다. wchar_t szName[10] = L"Raimond"; int iLen = wcslen(szName); iLen을 출력하면 szName의 문자열의 개수를 알 수 있다. - 내가 문자열 길이를 알려주는 함수 만들기! unsigned int GetLength(const wchar_t* _pStr) { int i = 0; // 문자 개수 체크 용도 while(true) { wchar_t c = _pS.. 2022. 1. 9.
[C] 문자열, wchar_t [C] 문자열, wchar_t - 차이 이해 wchar_t szWChar[10] = L"abcdef"; const wchar_t* pChar = L"abcdef"; 이 두 구문의 차이를 이해할 수 있어야 한다. 차이점에 대해 한번 생각해보자. - wchar_t 이란? wchar_t는 wide character(와이드 문자)를 저장하기 위한 2바이트 자료형이다. wchar_t 문자와 문자열은 앞에 L을 붙여 표현한다. 문자열의 요소 한 칸당 2바이트를 차지한다는 뜻이다. 문자열은 주소 값을 뜻한다. 그렇기 때문에 포인트로도 갈 수 있다. wchar_t 문자열은 w가 붙은 함수를 사용한다. -> #include 헤더 파일 추가 - 왜 지금 wchar_t를 쓰고 있는가? char은 멀티 바이트로 가변 길이다... 2022. 1. 9.
[Security Study] OverTheWire: Wargames "Bandit" 문제 풀기 후기 [Security Study] OverTheWire: Wargames "Bandit" 문제 풀기 후기 이번 겨울 방학 동안 사람들과 함께 OverTheWire 해킹 게임을 하기로 했다. 게임은 순서대로 사진과 같이 있다. 우리는 첫 번째인 Bandit 문제를 풀기로 했다. bandit의 경우 나는 vm웨어 가상머신에 ubuntu 환경에서 게임을 진행하였다. 사실 굳이 리눅스 환경이 아니어도 윈도 쉘에서 되는 것 같다... (정말 정말 리눅스 자체가 처음인 사람이라면 주의할 게 있는데, 리눅스는 윈도우와 같은 운영체제이다. 그냥 usb에 받아 컴퓨터에 꽂아서 한다면 자신의 윈도 운영체제가 날아갈 위험도 있다... 꼭 가상 머신이나 분리를 통해 하길 바란다. 같이 하는 한 분이 이런 경우로 윈도우가 날아가버.. 2022. 1. 6.
[독서후기] 화차 - 미야베 미유키 [독서후기] 화차 - 미야베 미유키 미야베 미유키의 소설은 장편이 많지만 그만큼 재미와 추리가 보장된다. 추리물이면서 동시에 사회의 이면, 사람들의 감정을 자극시키는 실력이 뛰어나다고 느낀다. 미야베 미유키의 소설을 처음 읽은 것은 고등학교 2학년 때 솔로몬의 위증이라는 3권의 책을 읽었을 때였다. 그때는 막연히 이런 두꺼운 책으로 말할 추리가 뭘까 싶어 호기심에 읽었는데 사람도 많이 나오고 얽힌 관계성이 다양해 종이에 사람들의 이름과 화살표를 쳐가면서 읽었던 기억이 있다. 그만큼 재미있는 책이다. 그 이후로도 종종 미야베 미유키의 소설을 읽게 됐다. 이번에 읽은 책은 '화차'라는 소설로 초창기 소설로 1992년 작이다. 조금 옛날의 이야기이기도 하건만 지금 읽어도 부자연스럽지가 않으니 신기하다. 대략 .. 2022. 1. 4.
[C] const 와 포인터 [C] const와 포인터 지난 포스팅에서 const와 포인터에 대해 알아보았다. 이제 그 둘의 관계에 대해 조금 더 알아보고자 한다. 기존에 배웠던 것을 떠올려보자. int a = 0; int* pInt = &a; //pInt가 a의 주소값을 가리키고 있다. *pInt = 1; // a의 값이 1로 바뀌었다. pInt = nullptr; // pInt가 a를 가리키지 않고 null을 가리키도록 바뀌었다. 여기까지는 잘 이해했을 거라고 생각한다. 포인터는 가리키는 변수의 값을 바꿀 수도 있고, 가리키는 것의 방향도 바꿀 수 있다. - const 포인터 int b = 0; const int* pConstInt = &a; //a 주소값을 가리킨다. *pConstInt = 100; //error // 포인터변.. 2022. 1. 4.