[C++] sscanf_s, _stscanf_s

함수를 까먹어서 기록하기 위한 글입니다.어떤 문자열이 있을 때 정해진 포맷이 있다면 그 포맷에서 데이터를 추출하는 경우가 있습니다. C++인 경우엔 regex를 사용하면 정확한 문자열 검증이 가능하지만, 간단하게 사용할 수 있는 sscanf_s 함수도 제공합니다.(MFC에서는 _stscanf_s사용) 함수가 성공적으로 수행되면 할당된 필드 수를 반환합니다.  예를 들어 IP를 문자열로 받고 입력된 값을 검증하는 함수를 만든다고 하면 아래 규칙을 적용해야 합니다. … Read more

[C#] 기초 문법

리터럴(literal) 리터럴은 번영하면 ‘문자 그대로의’ 의미지만 프로그래밍에서는 ‘상수’, ‘값’ 등을 의미합니다. 코드에서 “Hello World”, 10, ‘A’ 값은 모두 리터럴입니다. 변수(Variable) 변수는 선언한 형식에 맞게 메모리에 할당되어 값을 담는 역할을 합니다. 변수는 값 형식(Value Type)과 참조 형식(Reference Type)이 있습니다. 값 형식 값 형식인 변수는 ‘값’이 스택 영역에 할당 되어있습니다. 값 형식 변수는 아래와 같습니다. 참조 형식 … Read more

[C#] 기본 자료형

C#에서 사용되는 기본 자료형의 종류는 아래와 같습니다. 정수형 sbyte -128 ~ 127 부호 있는 8비트 정수 System.Sbyte byte 0 ~ 255 부호 없는 8비트 정수 System.Byte short -32,768 ~ 32,767 부호 있는 16비트 정수 System.Int16 ushort 0 ~ 65535 부호 없는 16비트 정수 System.UInt16 int -2,147,483,648 ~ 2,147,483,647 부호 있는 32비트 정수 System.Int32 uint 0 … Read more

[C# .NET] 개발 환경 구축

C# .NET 개발 환경 구축을 위해서는 아래 두 가지를 설치해야 한다. 설치 목록 Visual Studio는 설치 후에 아래 체크 박스 두 개를 체크한다. 새 프로젝트 생성을 위해 C# 콘솔 앱이 표시되면 제대로 설치 된 것이다 혹은 명령 프롬프트에서 dotnet net console –use-program-main 명령어를 입력해서 콘솔 앱 프로젝트가 생겨야 한다 참고 코드

Everyone has their own time zone

Everyone has their own time zone 모든 사람들은 자신만의 시간 속에 살고 있습니다. New York is 3 hours ahead of Californiabut that doesn’t make California slow. 뉴욕은 캘리포니아보다 3시간 빠릅니다.하지만 그렇다고 해서 캘리포니아가 뒤쳐져 있는 것은 아닙니다. Someone graduated at the age of 22,but waited 5 years before securing a good job. 어떤 사람은 22세에 … Read more

[Qt] QMutex

이번 글에서는 QMutex에 대해 알아보겠습니다. QMutex는 멀티 쓰레드 상황에서 공유된 자원에 대해 동시에 엑세스 할 때 사용되는 동기화 클래스 입니다. QMutex를 사용하기 위해서는 아래와 같이 헤더 파일을 include 해야합니다. QMutex의 사용 방법은 간단합니다. 어떤 상황에서 사용되는지 알아보겠습니다. Thread의 run 함수에서 ‘특정 작업이 시작되고 종료될 동안 값이 변하지 말아야 하는 변수’가 있어야 한다고 가정해 봅시다.이 상황을 … Read more

Categories Qt Tags

[Qt] QThread

이번 글에서는 Qt 에서 QThread를 사용하는 방법에 대해 알아보겠습니다. QThread는 QTimer와 다르게 신호를 발생시키지 않고, 별도의 쓰레드를 생성하여 특정 작업을 수행합니다. QThread에서 자주 사용하는 함수들은 아래와 같습니다. MyThread 클래스 생성 쓰레드를 시작했을 때 작업할 내용을 구현하려면 QThread 클래스를 상속받는 클래스를 하나 생성한 뒤, run 함수를 재정의 해야합니다. [프로젝트 우클릭]-[Add New]를 선택해줍니다. 그다음 [C/C++]-[C++ Class]를 선택해줍니다. … Read more

Categories Qt Tags

[Qt] QTimer

이번 글에서는 QTimer에 대해 알아보겠습니다. QTimer는 일정 시간 간격마다 특정 작업을 실행하거나, 일정 시간 뒤에 특정 작업을 실행하는데 사용되는 클래스 입니다. QTimer를 사용하기 위해서는 QTimer 헤더 파일을 include 해야합니다. 아래 함수는 QTimer에서 대표적으로 사용되는 함수 입니다. QTimer를 이용해서 1초마다 시간을 표시하는 위젯을 만들어 보겠습니다. 아래와 같이 라벨 두 개와 버튼 세 개를 만들어 보겠습니다. 그 … Read more

Categories Qt Tags

[Qt] QFile, QDir

이번 글에서는 디렉토리 탐색 기능을 제공하는 QDir과 파일 입출력 기능을 제공하는 QFile에 대해 알아보겠습니다. QDir QDir 클래스를 사용하려면 다음과 같이 헤더 파일을 포함해야 합니다. QDir 클래스는 다양한 경로를 얻을 수 있는 함수를 제공합니다. QDir 반환 QString 반환 설명 QDir::current(); QDir::currentPath(); 현재 디렉토리 경로를 반환합니다. QDir::home(); QDir::homePath(); 사용자의 홈 디렉토리 경로를 반환합니다. QDir::temp(); QDir::tempPath(); 시스템의 임시 … Read more

Categories Qt Tags

[C++] 정규표현식, regex

이번 글에서는 C++에서 정규표현식(Regular Expression)을 사용하는 방법에 대해 알아보겠습니다. 정규표현식의 사전적 의미로는 ‘특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어’ 입니다.보통 프로그래밍에서는 문자열에서 패턴의 매칭 여부나, 검색, 문자열을 변경하는데 사용됩니다. 아래는 대표적으로 사용되는 정규표현식의 문법 목록입니다. 문법 설명 . 임의의 한 문자 ^ 문자열 시작 $ 문자열 끝 * 앞의 문자가 0번 이상 … Read more

Categories C++