입력
[C] 키 입력받는 함수 GetAsyncKeyState, GetKeyState
GetAsyncKeyState SHORT GetAsyncKeyState(int vKey) 반환값은 SHORT형이고, 첫번째 인수로는 가상 키코드가 오며, 우리가 만약 VK_UP을 넘겨주면, 방향키 중 위를 가르키는 키가 눌려있나 눌려있지 않나 확인할 수 있다. (키가 눌려진 상태에서는 최상위 비트(0x8000)이 1이 되며, 처음 입력되었을 때는 0x8001 비트가 1이 된다.) 가상 키코드 모음 반환값은 아래와같이 4가지로 나뉜다. 이전에 누른 적이 없고 호출 시점에서 눌린 상태, 즉 키가 눌려진 시점에서 0x8000을 반환한다. 만약 이전에도 누른 적이 있고 호출 시점에서도 눌렸으면 0x8001을 반환한다. 이전에 키를 눌렀으면 0x0001을 반환하고, 눌리지 않았다면 0x0000을 반환한다. Get..
[SQL] 테이블 생성, 입력, 조회 및 정렬
1. 테이블 생성(CREATE TABLE) 및 데이터 입력(INSERT) CREATE TABLE emp_table ( emp_id NUMBER NOT NULL, emp_name VARCHAR2(100) NOT NULL, gender VARCHAR2(10) NULL, age NUMBER NULL, hire_date DATE NULL, etc VARCHAR2(300) NULL, PRIMARY KEY (emp_id) ); INSERT INTO 테이블 명 VALUES (값1, 값2, ...); INSERT INTO emp_table (emp_id, emp_name, gender, age, hire_date) VALUES (1, '홍길동', '남성', 33, '2018-01-01'); INSERT INTO emp..
[C++] 문자열 입력 istream::getline()과 string의 getline()
1. std::istream::getline - cin.getline() 인자: s - C 형식 문자열을 저장할 배열을 가리키는 포인터 n - 저장할 문자의 최대 개수 (끝의 종료 널 문자를 포함한 값). 만약 입력 스트림의 최대 크기에 도달하여 입력이 중단되면 failbit 플래그가 설정된다. delim - 제한자로 이 문자에 도달시 추출이 중단다. 이 때 이 문자는 s에 기록되지는 않지만 스트림에서 사라지게 된다. 즉 istream을 상속받는 클래스에서 getline()함수를 사용할 수 있다. 콘솔에서 문자열을 입력받으려면 cin.getline()을, 파일으로부터 문자열을 가져오려면 파일입력스트림인 ifstream의 인스턴스에서 getline()을 호출하면 된다. #include #include //..
[C] 공백 포함 문자열 입력 받기 (scanf, gets, fgets)
#include #define LEN 1000000 int main(){ char str[LEN]; scanf("%s",str); printf("%s",str); } 1. scanf[] scanset character scanset character [] 를 scanf 함수에 추가해 주는 방법이다. [^"문자"]의 의미는 해당 문자가 나오기 전 까지 모든 문자열을 받겠다는 뜻이다. 개행(엔터)를 의미하는 문자인 "\n" 를 ^뒤에 넣어주면, 개행(엔터)가 나오기 전 까지 모든 문자열을 받겠다는 뜻이 된다. 따라서, 공백도 포함해서 입력을 받을 수 있게 되는 것이다. /* scanset character 예시 */ #include #define LEN 1000000 int main(void){ char s..
[Unity] New Input System 키 입력을 스크립트에 전달하여 처리하기
1. 로직을 제어할 스크립트(script) 부착하기 Player 게임 오브젝트에 키 입력값을 전달받고, 해당 로직을 제어할 스크립트를 만들어서 붙여줬다. 입력이 들어왔을 때, 해당 내용을 전달해주는 방법을 설정할 수 있는 'Behavior' Send Messages, Broadcast Messages : 유니티의 Send Message 기능을 사용하여 특정 함수를 호출하는 방식 Invoke Unity Events, Invoke C Sharp Events : 유니티나 C#의 이벤트 기능을 사용하는 방식 위 방식들을 스크립트에서 사용하기 위해서는 다음과 같은 네임스페이스 적용이 필요 using UnityEngine.InputSystem; Send Messages 기능을 사용할 경우 특정 키가 들어오면, 특정..
[Unity] 입력 바인딩 시스템 만들기
유니티의 입력 시스템 유니티에는 2가지 Input System이 있다. 첫 번째는 Input.Get~ 꼴의 메소드를 이용해 이번 프레임에 해당 입력이 있었는지 검사하는 레거시 시스템 두 번째는 2019년 소개된 New Input System. New Input System을 사용하려면 패키지 매니저에서 Input System을 설치하고, 프로젝트 세팅에서 Active Input Handling을 지정하고, InputAction 윈도우에서 Action Map, Action, Property를 설정하고, New Input System을 사용할 게임오브젝트에 PlayerInput 컴포넌트를 넣고, 이제 스크립트에서 콜백 메소드를 작성해서 입력을 처리한다. 그리고 여기서 가장 중요한 런타임 바인딩 변경 기능. ..
바이오스 (BIOS - Basic Input/Output System)
정의 본래 펌웨어는 제품 생산 시에 탑재된 이후에는 내용 변경을 하지 않는 것이 관례였지만, 최근에는 지속적인 제품의 성능 향상 및 오류 개선을 위해 제품 출시 이후에도 제조사에서 새로운 펌웨어를 배포해 소비자들에게 업데이트 할 것을 권하는 경우가 늘어나고 있다. 이런 경우는 특히 스마트폰이나 휴대용 게임기와 같은 모바일 컴퓨팅 기기에서 흔히 볼 수 있다. PC용 펌웨어는 바이오스(BIOS: Basic Input/Ouput System)라고 하며, 해당 PC의 기본적인 데이터의 입력과 출력을 관리하는 것이 주된 역할이다. 바이오스는 메인보드(main board: 주기판) 상에 위치한 이피롬(EPROM), 혹은 플래시메모리(flashmemory) 칩에 저장되어 있다. 넓은 의미에서는 메인보드 외의 다른 하..