Liea
'① 공부/C' 카테고리의 글 목록

① 공부/C

① 공부/C

WinAPI 윈도우클래스 WNDCLASS 설명

보호되어 있는 글입니다.

① 공부/C

#if, #ifdef, #else, #endif 조건부 컴파일 & 전처리

#ifdef UNICODE #define _tMyStrlen wMyStrlen #define _tMyStrcpy wMyStrcpy #else #define _tMyStrlen MyStrlen #define _tMyStrcpy MyStrcpy #endif #if 뒤에 상수, 이미 정의된 문자상수가 온다. 평가값이 0이면 다음줄부터의 내용을 건너뛰고, 아니면 처리한다. #ifdef 뒤에 나오는 식별자가 #define으로 정의가 되어있다면 처리하고, 그렇지 않으면 건너뛴다. #else 조건문인 if문의 else처럼 기능하는 조건부 컴파일의 #else이다. #endif 조건부 컴파일의 종료를 나타낸다.

① 공부/C

strlen(), wcslen(), _mbslen(), _tcslen() 문자열의 문자 개수 반환 함수

strlen, wcslen, _mbslen, _tcslen : 문자열에 포함되어 있는 문자의 개수를 반환 매개변수 string - NULL로 종료되는 문자열 locale - 사용할 로캘 #include //헤더 포함 ex) #include size_t strlen(const char *string); size_t wcslen(const wchar_t *string); #include size_t _mbslen(const unsigned char *string); size_t _mbslen_l(const unsigned char *string, _locale_t locale); _tcslen 함수 사용시 아래와 같이 호출된다. 정의하지 않을 경우 : _tcslen -> strlen Unicode 정의시 :..

① 공부/C

[ _tsetlocale() ] 파일 입출력시 한글 출력이 깨지는 현상 해결

상황 ifstream이나 ofstream으로 파일을 생성 및 실행 시, 경로나 파일명에 한글이 포함되면 파일 입출력이 동작하지 않음 혹은 글자가 깨지거나 나타나지 않는 현상 해결방법 setlocale( LC_ALL, "" )을 호출해준다. ※ 파일 입출력 코드 앞, 프로그램 시작 부분 말고도 아무 곳에나 한번만 호출해 주면 된다. locale을 표시되는 언어로 설정하고, 호스트 운영 체제에서 가져온대로 지정된 언어로 된다. _tsetlocale 함수 원형 setlocale( LC_ALL, "" ); //#include 헤더를 포함한다. ex) _tsetlocale(LC_ALL, ""); //컴퓨터의 시스템 지역 설정을 따르게 하는 함수 ex) _tsetlocale( LC_ALL, "en-US/korean..

① 공부/C

main(), wmain(), _tmain()의 차이

main()과 _tmain() C언어로 작성된 프로그램들은 프로그램의 시작을 의미하는 main함수가 존재한다. 여기서 Microsoft가 main함수를 확장시킨 것이 _tmain이다. main() : C언어의 표준 함수 _tmain() : Microsoft에서 확장한 형태의 main()함수 → 둘의 차이는 쉽게 말해 유니코드의 사용유무이다. _tmain()은 유니코드를 지원하는 프로그램일 경우 컴파일 시 main함수의 와이드 문자버전인 wmain()으로 바쒸고 유니코드를 지원하지 않는 프로그램일 경우 main()함수로 바뀐다. main(), wmain(), _tmain()의 함수 원형 int main(int argc, char* argv[]) int wmain(int argc, wchar_t* argv[..

① 공부/C

C언어. 데이터 변수와 상수, 함수, 포인터, 구조체까지

1.main_변수와 상수 #include int main(void) { //값, 상수, value, rValue, data, 데이터 //아래와 같은 형식은 값이 저장이 될까?->된다. //unsigned int, int 100; 3.14; "Hello"; 'A'; //파일 FILE* my = 0; fprintf(my, "Hello"); return 0; } 2.main_함수와 자료구조 #include #include int member = 234; int Add(int, int);//declaration int main(void) { //배열은 뭘까? - 자료구조 //배열은 항상int 하나짜리하고 같이 코딩을 한다. int arr[2] = { 0 }; int count = 0; arr[count] = 1..

① 공부/C

C언어. 카드 뒤집기 게임 만들기

#include #include #include #define _CRT_SECURE_NO_WARNINGS // 10마리의 서로 다른 동물 (각 카드 2장씩) // 사용자로부터 2개의 입력값을 받음 -> 같음 동물을 찾으면 카드 뒤집기 // 모든 동물 쌍을 찾으면 게임 종료 // 총 실패 횟수 알려주기 int arrayAnimal[4][5];// 카드의 깔린 화면(카드 지도) (20장의 카드) int checkAnimal[4][5];// 카드가 뒤집햤는지 여부를 확인 char* strAnimal[10]; void initAnimalArray(); void initAnimalName(); void shuffleAnimal(); int getEmptyPosition(); int conv_pos_x(int x)..

① 공부/C

C언어. 다차원 배열 복습

다차원 배열의 형태 //다차원 배열 Multidimensional Array int i;// ㅁ int arr[5]; //ㅁㅁㅁㅁㅁ // [0][1][2][3][4] int arr2[2][5]; //ㅁㅁㅁㅁㅁ //ㅁㅁㅁㅁㅁ //[0.0][0.1][0.2][0.3][0.4]-> arr2[0][0] //[1.0][1.1][1.2][1.3][1.4]-> arr2[1][4] int arr3[4][2]; //ㅁㅁ //ㅁㅁ //ㅁㅁ //ㅁㅁ //[0.0][0.1]-> arr3[0][1] //[1.0][1.1] //[2.0][2.1] //[3.0][3.1]-> arr3[3][0] int arr4[3][3][3]; //ㅁㅁㅁ //ㅁㅁㅁ //ㅁㅁㅁ //ㅁㅁㅁ //ㅁㅁㅁ //ㅁㅁㅁ //ㅁㅁㅁ //ㅁㅁㅁ //ㅁㅁㅁ //[0..

① 공부/C

C언어. 물고기 어항 물주기 게임 만들기

//getchar();// 임시로 사용자 입력 대기(무한루프가 돌지 않게 함) #include #include #define _CRT_SECURE_NO_WARNINGS // 물고기가 6마리가 있다. // 어함에 살고 있는데, 사막이다. // 사막이 너무 덥다보니 건조해서 물이 빨리 증발한다. // 물이 다 증발하기 전에 부지런히 물을 채워주자. // 물고기는 시간이 지날수록 점점 커진다. int level; int arrayFish[6]; int* cursor; void initData(); void printFishes(); void decreaseWater(long elapsedTime); int checkFishAlive(); int main(void) { long startTime = 0; // ..