일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 별찍기
- mfc 실습
- win32
- visual
- 정보처리기사
- C언어
- C
- 도움말
- 김성엽
- 정처기 독학
- tips강좌
- SSG
- Tipsware
- 실습
- 포트폴리오
- C++
- ListBox
- 마이크로소프트
- linux
- MyTread
- MFC 예제
- 충무창업큐브
- 핵심 요약
- Time
- 미가공
- MyThread
- do it c
- mysql
- MFC
- 유료강좌
- Today
- Total
목록전체 글 (220)
History

*시프트 연산자의 기능 시프트 연산자()는 변수의 값을 지정한 비트 수만큼 왼쪽 또는 오른쪽으로 비트를 이동시키는 기능을 한다. 예시는 아래 코드와 같다. unsigned char data= 0x1A; //변수 오른쪽에서 왼쪽 이동 //이동 전-> 0001 1010 data= data> 이동할 비트 수 -> 왼쪽에서 오른쪽으로 이동 //이동 전-> 0001 1010 data= data>>2; //2칸을 왼쪽에서 오른쪽으로 밀겠다 //이동 후-> 0000 0110 위의 예시처럼 이동한 비트들이 할당된 메모리의 크기를 벗어나면 해당 비트들은 사라지고 비트가 이동한 빈자리에는 0이 채워진다. 비트가 왼쪽으로 이동해서 사라지는 것을 오버플로(overflow) 비트가 오른쪽으로 이동해서 사라지는 것을 언더 플로(..

일반적으로 비트는 0 또는 1을 저장할 수 있는 공간이다. 예를 들면 전등을 제어하려고 한다. 전등은 키는 동작 그리고 끄는 동작이다. 전등은 이 두 가지로 제어할 수 있다. 문자 그대로 "켜지다, 꺼지다" 이렇게 제어하면 문자열을 처리해야 하기 때문에 보통 0이면 끄는 동작 1이면 키는 동작으로 우리는 약속하고 있다. 이러한 상황에서 우리는 0과 1을 비트로 제어할 수 있다. 그러나 비트연산자를 잘 모르면 자료형 중에서 가장 작은 단위인 char(1바이트==8비트)를 사용해서 0과 1을 대입하여서 전등을 제어할 것이다. 물론 전등이 1개만 있는 경우에는 괜찮지만 800개의 전등이 있을 시 char로 전등을 제어하면 800바이트를 사용할 수밖에 없다. 그러나 비트로 전등을 제어하면 100바이트로 전등을 ..

먼저 Debug용 실행파일은 개발용이기 때문에 배포용으로 사용하면 안 된다. Visual C++에서는 Release라고 배포용 옵션이 추가로 제공되는데 이 옵션을 사용하여 실행파일을 생성하면 배포용 실행파일이 만들어진다. Release모드는 아래 이미지처럼 도구 상자에 있는 항목을 변경하여 선택할 수 있다. Release모드를 선택한 후, 첫 빌드 할 때는 가능하면 '빌드' 메뉴에서 '솔루션 다시 빌드' 메뉴를 사용해서 빌드하는 것이 좋다. 이렇게 빌드를 하면 아래의 그림처럼 Release라는 폴더가 추가되고 그 위치에 실행파일이 만들어진다. 이렇게 만들어진 배포용 실행파일도 다른 컴퓨터에 옮겨서 실행하면 visual이 없어서 생기는 시스템 오류가 발생한다. 위와 같은 오류가 발생하는 이유는 Releas..

이 프로그램은 Visual Studio 2022의 Visual C++에서 MFC를 사용해서 만들었습니다. 이 프로그램은 자신의 컴퓨터에서 녹화나 캡처 작업을 할 때 자신의 개인적인 정보를 표시할 수 없을 때 특정 영역을 아래 영상처럼 모자이크 처리하는 프로그램입니다. 제가 필요해서 만들어봤는데 생각보다 괜찮게 블러 처리가 되어서 좋네요ㅎ 실행 파일은 같이 올릴 예정이며, 추가로 어떠한 기능이 더 있었으면 좋겠다라고 생각하시는 것 있으시면 댓글로 피드백 부탁드립니다. 그에 반영해서 업데이트 유지하겠습니다. 기능은 화면을 잡고 원하는 블러를 원하는 화면으로 가서 더블클릭을 진행해주면 배경을 제외한 모든 부분이 블러처리가 됩니다. 그리고 화면을 ReSize 하거나 화면을 다시 클릭하면 블러모드가 풀립니다. 아..
GetKeyboardState함수 1. 모든 가상 키의 현재 상태를 검색할 수 있다. 2. 개별 키에 대한 상태 정보를 검색할 수 있다. 3. GetKeyboardState 함수는 256개의 가상 키 상태를 지정된 버퍼에 복사한다. 아래는 도움말이다. https://learn.microsoft.com/ko-kr/windows/win32/api/winuser/nf-winuser-getkeyboardstate?f1url=%3FappId%3DDev16IDEF1%26l%3DKO-KR%26k%3Dk(WINUSER%252FGetKeyboardState)%3Bk(GetKeyboardState)%3Bk(DevLang-C%252B%252B)%3Bk(TargetOS-Windows)%26rd%3Dtrue GetKeyboar..
보호되어 있는 글입니다.
문제 정숫값을 공백으로 구분해서 입력받아 해당 숫자들을 합산한 값과 평균값을 출력하는 예제를 만들자. 조건 1. 첫번째로 입력한 정수는 합산을 위해 추가로 입력받을 정수의 개수이다. 2. 입력된 정수가 부족하면 사용자가 입력을 다 할 때까지 계속 입력받아야 한다. 3. 아래와 같이 사용자가 지정한 개수보다 많이 입력하면 나머지 값은 무시한다. 5 12 9 3 2 7 6 1(엔터) 결과= sum: 33 agv: 6.6 답은 아래와 같다. #include #pragma warning(disable:4996) int main() { int sel; int sum = 0; int num; float agv = 0.0; scanf(" %d", &sel); for (int i = 0; i < sel; i++){ s..
1. 일반 지역 변수의 초기화 일반적으로 변수를 초기화를 시키려면 아래 코드처럼 사용할 수 있다. int data=0; //선언과 동시에 0으로 초기화 int data={0}; //선언과 동시에 0으로 초기화 int data={0,}; //,를 적어도 선언과 동시에 0으로 초기화 그러나 아래와 같은 코드는 2개 이상의 값을 사용하여 초기화를 하려고 하기 때문에 오류가 발생한다. int data{0,1}; //한 개의 메모리에서 2개를 초기화 시키면 오류 2. 배열의 초기화 배열은 메모리를 그룹 짓는 개념이기 때문에 변수를 선언하면서 0으로 초기화를 시키려면 {}를 사용해서 배열의 개수만큼 초깃값을 나열해야 한다. int arr[5]={0,0,0,0,0}; //배열의 모든 항목이 0으로 초기화 하지만 배열..