C, C++/Tips
콘솔 게임 맵
콘솔 게임 맵
2024.08.22이모지 링크 https://kr.piliapp.com/twitter-symbols/https://www.unicode.org/emoji/charts/full-emoji-list.htmlhttps://kr.piliapp.com/symbol/#graphic 1)#include #define icon_Size sizeof "🔚" // icon size == 5byte#define movable 8#define x_Blocks (movable + 2) // 이동 블럭 수 + 양쪽 벽 2개#define x_Total (icon_Size * x_Blocks) // x 축 전제 크기int main(void){ char map[x_Total] = {"⬛🔚🔙🔚🔙🔚🔙🔚🔙⬛"}; ..
문자 인코딩 1 - 인코딩
문자 인코딩 1 - 인코딩
2024.08.22https://namu.wiki/w/UTF-8#toc UTF-8UTF-8은 가장 많이 사용되는 가변 길이 유니코드 인코딩이다. 켄 톰슨과 롭 파이크( Go 언어 를 만든 사람namu.wiki #include #define iconSZ sizeof "✅" // icon size == 5byte// https://namu.wiki/w/UTF-8#toc// https://www.compart.com/en/unicode/U+2705// UTF-8 Encoding: 0xE2 0x9C 0x85int main(void){ char icon[iconSZ] = "✅"; printf("icon %s size: %ld Byte\n", icon, sizeof icon); char *ptr = icon; ..
rand()와 srand()
rand()와 srand()
2024.08.131. 기본 개념 rand() 임의의 난수 하나를 생성한다. 범위는 0~RAND_MAX, 0~32767(0x7fff) 이다. srand() 시간 값을 매개로 난수를 생성한다. time(NULL) 현재 시간을 초단위로 변경해 반환 2. 기본 사용법 int num = rand() % n; 임의의 0 ~ n-1 범위 중 임의의 수 하나를 생성한다.ex 1.) rand() % 5 의 범위는 0 ~ 4ex 2.) rand() % 9 의 범위는 0 ~ 8 3. 응용 사용법 int i = rand() % n + m; // ex 1.) rand() % 4 + 1 의 범위는 1, 2, 3, 4 (연속된 수)int j = rand() % n * m; // ex 2.) rand() % 4 * 2 의 범위는 0, 2..
문자열 한글 카운팅
문자열 한글 카운팅
2023.08.10#include int cntKor(char pStr[]) { int i, k, cnt = 0; for (i = 0; pStr[i] != '\0'; i++) if (pStr[i] & 0x80) cnt++; return cnt/3; } int main(void) { char *s[] = {"A BCD EFG GH ", // space 9 // eng 8 "가 나 다 라 마 "}; // space 15 // kor 5 x 3byte printf("%d\n", cntKor(s[0])); printf("%d\n", cntKor(s[1])); printf("%d\n", cntKor(" 가나 DEF")); // space 5 // eng 3 // kor 2 x 3byte return 0; } 1Byte 8bit, ..
윈도우 콘솔 실행 + 음악 재생
윈도우 콘솔 실행 + 음악 재생
2023.07.13
윈도우 입력 kbhit( )
윈도우 입력 kbhit( )
2023.07.13window11 c언어 키보드 입력 scanf( ) getch( ) kbhit( ) ① kbhit( ) 공식문서 kbhit( ) 함수 - Microsoft Learn ② 구문 #include int _kbhit( void ); ③ 반환 _kbhit( )함수가 실행되면, 키가 눌리지 않았으면 0 (False) 리턴 키가 눌리면 0이 아닌(True), 입력된 키 값을 buffer 에 넣는다.
윈도우 콘솔 이모지 출력
윈도우 콘솔 이모지 출력
2023.07.13
콘솔 글자색, 배경색 수정(2) - Win, Linux
콘솔 글자색, 배경색 수정(2) - Win, Linux
2023.07.10Window11 Linux C언어 콘솔 출력 색 터미널에 출력 문자, 배경 색 변경 방법 중요한 로그(디버깅시 오류 등)를 보기 쉽게 컬러로 출력 가능 ① ANSI Color 코드 (링크) ANSI 컬러 코드 + 문자 + 뒤에 ANSI Reset 코드 예제) printf("\x1b[30m log text \x1b[0m \n"); 예제) printf("\x1b[30m" "%s" "\x1b[0m \n"); ② 사용법 ②.① #include #define ANSI_COLOR_RED "\x1b[30m" #define ANSI_COLOR_RED "\x1b[31m" #define ANSI_COLOR_GREEN "\x1b[32m" #define ANSI_COLOR_YELLOW "\x1b[33m" #define ANS..
콘솔 글자색, 배경색 수정(1) - Win11
콘솔 글자색, 배경색 수정(1) - Win11
2023.07.10window11 C 언어 콘솔 출력 색 ① 공식문서 SetConsoleTextAttribute 함수 - Windows Console | Microsoft Learn ② 함수 원형 # 원형 BOOL WINAPI SetConsoleTextAttribute( _In_ HANDLE hConsoleOutput, // 핸들 (콘솔 화면 버퍼) _In_ WORD wAttributes // 색상 () ); // return 0; 성공 ③ 함수 매개 변수 ③.① hConsoleOutput // 표준 핸들 반환 (콘솔출력, 고정값) GetStdHandle(STD_OUTPUT_HANDLE) // 사용 예시 // SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 색상); ③..