소연의_개발일지
[C++] 템플릿 공부하기
개발공부/C++ 2024. 4. 9. 14:11

템플릿에 대해 더 자세히 공부해보기로 함 참고 사이트 모드의 코드 - 씹어먹는 C++ https://modoocode.com/219 씹어먹는 C++ - 모두의 코드 씹어먹는 C++ - 작성일 : 2017-04-07 이 글은 79760 번 읽혔습니다. 에 대해서 배웁니다. 안녕하세요 여러분! 지난번 강좌 생각해보기는 잘 modoocode.com 템플릿이란? 우리가 함수를 사용하는 이유는 동일로직을 여러번 반복할 때, 그 반복을 줄이기 위해 생성한다. 함수 사용 예시) 1, 2를 입력하면 12 출력 std::string concatenateNumbers(int num1, int num2) { // Convert integers to strings std::string strNum1 = std::to_stri..

sourcetree 병합 기능
개발공부/Git & Git gui 2024. 2. 5. 11:06

sourcetree 병합 기능 1. master 브런치로 체크아웃한다(더블클릭한다.) 2. 가지고 오려는 브랜치 클릭 - 병합을 누른다. (혹은 가지고 오려는 브랜치 - 우클릭하여 Merge [병합하려는 브런치이름] into master 를 클릭한다.) 3. 충돌이 났을 떄 - 충돌이 난 파일 우클릭 -> 충돌 해결하기 -> 외부 병합 툴 시작을 눌러 비교할 파일을 비쥬얼 스튜디오에서 확인한다. 4. 커밋 후 병합한 파일을 푸시한다. 5. 병합된 버전을 확인한다.

[C++] 하위 폴더 자동 생성 코드
개발공부/C++ 2024. 1. 16. 16:12

코드 void CDBAgentDlg::checkExistenceFolder(char* Path) { char DirName[256]; // 생성할 디렉토리 이름 char* p = Path; // 매개변수로 받은 디렉토리 char* q = DirName; while (*p) { if (('\\' == *p) || ('/' == *p)) // 디렉토리 혹은 서브 디렉터리 { if (':' != *(p - 1)) { CreateDirectory(DirName, NULL); } } *q++ = *p++; *q = '\0'; } CreateDirectory(DirName, NULL); } 사용 예시 /////////////////////////////////////// // CSV 값 가져오는 THREAD // ..

pgAdmin4 에서 primary key 변경하기
개발공부/SQL & DB 2024. 1. 8. 13:08

postgreSQL 과 pgAdmin4를 사용 중 primary key를 변경해야 할 때 1. 첫 번째로, 이전의 프라이머리 키를 지운다. ALTER TABLE DROP CONSTRAINT _pkey; 예) ALTER TABLE test DROP CONSTRAINT test_pkey; 2. 그 다음, 프라이머리 컬럼 키로 되어 있는 컬럼 이름을 변경해준다. ALTER TABLE RENAME COLUMN TO id; 3. 새 프라머리 키를 지정한다. ALTER TABLE ADD PRIMARY KEY (id);

article thumbnail
[C++ MFC] 콤보박스 리스트 길이가 짧을 때
개발공부/C++ 2024. 1. 4. 15:55

문제상황 콤보박스 길이가 짧아 1개밖에 안 나오는 상황 해결방법 MFC 리소스 수정 에디터에서 화살표 부분을 클릭한 후 크기를 늘려주면 된다. 1. 화살표 클릭 2. 크기 늘려주기 잘 나온다. 참고링크 https://stackoverflow.com/questions/23739185/mfc-combobox-dropdown-list-too-short

[c++] bool과 BOOL의 차이
개발공부/C++ 2023. 12. 13. 13:33

MFC 에서 코딩중 True, TRUE 를 사용하는것과 False, FALSE를 사용하는 것의 차이가 궁금했다. bool, BOOL 또한! bool: 기본 c++ 의 데이터 타입, 1바이트의 크기 true, false의 값만 갖는다. true와 false역시 c++의 기본 키워드이다. 초기값이 true(1)이다. BOOL: MFC에서 정의되어 있는 데이터 타입이다. 1바이트가 아니라 4바이트의 크기이다. TRUE, FALSE의 값을 갖고 false역시 가능하다. TRUE와 FALSE역시 MFC에서 정의되어 있는 키워드이다. BOOL 형은 초기값이 쓰레기값이다. init 부분에서 초기화를 해줘야 한다. C언어의 논리 자료형이기도 하다. 결국 MFC가 등장함으로써 생성된 대문자형 데이터 타입이라는것을 알 수..

[오류] LINK2019 확인할 수 없는 외부 참조, 함수에서 참주할 수 없는 외부 기호
개발공부/C++ 2023. 12. 6. 16:18

참조 링크1 https://davi06000.tistory.com/5 [ VS 삽질 ] 확인할 수 없는 외부 참조, 확인할 수 없는 외부 기호 LNK1120 LNK2019 링커 에러는 정말 만나고 싶지 않은 녀석들이다. 찾아봐도 도무지 답도 안나오고 에러를 봐도 어디서 난건지 알 길이 없다. 분명 VS상에서는 오류가 없다고 하는데 빌드가 안되니 진 davi06000.tistory.com 참조 링크2 https://team00csduck.tistory.com/122 [오류]_ (LNK2019 함수에서 참조되는 확인할 수 없는 외부 기호)에 대한 대처법. LNK2019란 C로 작성한 프로그램을 디버깅 하는데 있어서, 극강의 발암물질이다. LNK2019만 만나면 오금이 저리고, 두통이 심해지고, 혈압 수치가 ..

[C++] 12.04 공부내용 | LOWORD,HIWORD
개발공부/C++ 2023. 12. 4. 17:46

LOWORD,HIWORD 32비트라는 운영체제 가정하에 WORD라는 건 unsigned short 이다. (typedef unsigned short WORD) unsigned short 는 2바이트이며 0부터 65535까지의 값을 나타낼 수 있다. #define LOWROD(I) ((WORD)(I)) #define HIWORD(I) ((WORD)(((DWORD)(I) >> 16 & 0FFFF)) LOWORD, HIWORD는 주로 DWORD (unsigned int_32) 를 두개로 나눌때(?) 사용합니다. 위에 보신대로 LOWORD는 워드형으로 형변환을 시킵니다. 즉.. 오른쪽 16자리의 값이 되겠지요 .. HIWORD는16자리 쉬프트후 워드형으로 형변환 시키므로 왼쪽의 16자리 값이 됩니다. ?? 먼소..

[C++]Cstring double로 변경
개발공부/C++ 2023. 12. 4. 13:12

Cstring double로 변경하기 멀티바이트 환경 atof() 사용 CString thestring("13.37"); double d = atof(thestring). 유니코드 환경 _wtof() 사용 CString thestring(L"13.37"); double d = _wtof(thestring).

[MFC] 버튼 활성화 비활성화
개발공부/C++ 2023. 11. 21. 14:20

1. 컨트롤 변수의 경우 OnBnClickedRadioScaling70.EnableWindow(FALSE); // TRUE: 활성, FALSE: 비활성 // 컨트롤_변수_이름.EnableWindow(FALSE); 2. 버튼의 ID인 경우 GetDlgItem(IDC_RADIO_SCALING_70)->EnableWindow(true); 적용 예시 체크박스가 눌러져 있을 때 라디오 버튼 활성화/ 비활성화 코드 예시 void CDlgAdminSetting::OnBnClickedCheckSummaryDataAddSave() { UpdateData(true); // 라디오 버튼 활성/비활성화 if (m_bUseDataAddSave == true) { GetDlgItem(IDC_RADIO_SCALING_140)->E..