본문 바로가기

분류 전체보기30

sizeof로 문자열 길이 구할 때 주의할 점 sizeof로 문자열 길이 구할 때 주의할 점. char szHello[] = "Hello, world!"; sizeof ( szHello ); 결과 : 14 char* pChar = szHello; sizeof ( pChar ); 결과 : 4 sizeof로 문자열 길이 구할 때 주의할 점. 출처 : https://learn.microsoft.com/ko-kr/cpp/cpp/sizeof-operator?view=msvc-170 2024. 2. 8.
strchr, strrchr CRT ( C 런타임 라이브러리 ) strchr 문자열 앞에서부터 검색 strrchr 문자열 뒤에서부터 검색 char *strchr( char * str, int c ); // C++ only const char *strchr( const char * str, int c ); // C++ only char *strchr( const char *str, int c ); // C only 매개변수 str : Null 종료 소스 문자열입니다. 매개변수 c : 찾을 문자입니다. 반환값 : str에서 첫 번째 c에 대한 포인터를 반환하거나, c를 찾을 수 없는 경우 NULL을 반환합니다. char *strrchr( char *str, int c ); // C++ only const char *strrchr( co.. 2024. 2. 8.
4. 보호되어 있는 글 입니다. 2023. 11. 23.
window sdk 10 사용 시, win7(win10 이 전 os)에서 응용프로그램(.exe) 실행하고 싶을 때 의문점 : os가 window10이고, 컴파일러가 vs2022이고, window sdk 버전 10을 사용할 떄, 릴리즈빌드로 exe응용프로그램 생성 시, 생성한 프로그램이 win7에서 작동을 하는가? (프로그램 최소 지원 window os가 win7이어서, win7에서 프로그램이 작동해야함. ) 해답: 최소 윈도우 사양 지정 가능한 매크로가 있다. 윈도우 버전관련 매크로 선언하면, 최소 윈도우 사양 지정 가능하다. #define WINVER 0x0601 #define _WIN32_WINNT 0x0601 위처럼 매크로 선언하면 win7으로 최소 윈도우 지정된다. ( 원하는 버전별 설정값이 다르다. ) 사용 조건 : sdkddkver.h를 포함하기 전에 WINVER 및 _WIN32_WINNT 매크로를 선언해.. 2023. 9. 12.
vs 조사식 관련 꿀팁 정리 visual studio 조사식 관련하여 보다가 꿀팁 발견 변수 my_var1를 디버깅중에 조사식에서 보고 있었으면 my_var1.c -> 단일 문자로 값 정보를 표시함. my_var1.na -> 포인터 메모리 주소 표시하지 않음. my_var1.nd -> 파생클래스 무시하고 기본 클래스 정보만 표시함. 이런 식으로 변수옆에 ".형식 지정자" 추가하면, 다양한 기능을 사용할 수 있다. 특히 na,nd가 유용해보인다. na는 변수의 값만 보고 싶을때, 메모리 주소를 지우면 더 디버깅할 때 편할 것 같다. nd 또한 내가 보고싶은 그 클래스의 정보만 보고싶을때 더 편할 것 같다. 다른 것들은 아래 참조 링크에 더 많다. 참조 : https://learn.microsoft.com/ko-kr/visualstud.. 2023. 2. 15.
memset 주의할 점 memet - CRT ( C 런타임 라이브러리) memset을 사용할 때 주의할 점 ( ZeroMemory함수도 비슷함 ) - std::string, std::wstring을 memset으로 초기화 하면 안된다. ( memset 이후, 문자열 삽입시, 정상작동 안되는 것 랜덤발생 확인) - 1Bytes 변수(char, unsigned char 등)를 제외한 변수를 초기화 할 때에는 0이외의 값으로 초기화를 절대 하지마라. - new, malloc 등을 이용하여 동적으로 배열을 생성하는 변수가 있는 struct, class에서는 초기화할 때 조심해라. - CString은 절대 memset으로 초기화를 하지마라. - virtual function을 가지고 있는 struct, class에서는 절대 memset.. 2023. 1. 31.
IFIleDialog사용하여 탐색기 보기 모드 설정 아이콘으로하기 간단 결론 : IFileDialogEvents::OnFolderChange에 보기설정을 아이콘으로 하면 된다. (SetCurrentViewMode - FVM_ICON) (크기설정까지 SetViewModeAndIconSize) 간단 코드 : OnFolderChange 정의 IFACEMETHODIMP CDialogEventHandler::OnFolderChanging(IFileDialog *, IShellItem *) { IServiceProvider *psp = nullptr; IFolderView *pfv = nullptr; HRESULT hr = pfd->QueryInterface(IID_PPV_ARGS(&psp)); do { if(FAILED(hr)) break; hr = psp->QueryServi.. 2022. 12. 20.
pow() pow(x,y) . x의 y제곱 반환. x : 밑 (영어 : Base) y : 지수 (영어 : Exponent) [네이버 사전] power : 거듭제곱, 멱 4 to the power of 3 is 4³ (= 4 × 4 × 4 = 64). 4의 세제곱은 4³이다 (= 4 × 4 × 4 = 64). [microsoft reference] https://learn.microsoft.com/ko-kr/cpp/c-runtime-library/reference/pow-powf-powl?view=msvc-170 2022. 9. 19.
dx 좌표계 xyz좌표 +방향 [directx] 1. 왼손 좌표계 2. +z방향이 모니터 안쪽.(사람이 모니터를 바라보는 그 방향) 3. 수학시간에 배우는 x,y,z기본 그래프 방향과 다름!!! [opengl] 1. 오른손 좌표계 2. +z방향이 모니터 바깥쪽(모니터가 사람을 향한 그 방향) 3. 수학시간에 배우는 x,y,z기본 그래프 +-방향과 동일. 2022. 9. 13.
[C++/MFC] CString 문제? 출처 모음 댓: CString 처럼 MFC 클래스로 구성된 클래스 내부에는 공유하여 사용하는 데이터가 존재할 수 있어요. 그런데 멀티 쓰레드에서 이런 클래스들을 사용하다가 잘못해서 동시에 두개 이상의 쓰레드가 공유 데이터에 무언가를 하려고 하면 프로그램이 뻗어버릴 수 있어요 =ㅁ=... 그러니까 CString 쓰지마시고, char 배열 크게 잡아서 출처: 댓: CString은 내부적으로 static 문법을 사용하기 때문에 클래스 내부에서 공유되는 자원으로 인하여 멀티 스레드에서는 사용되지 못합니다. 그렇기 때문에 싱글 스레드 역시 메인 스레드와 다른 추가적인 스레드를 사용하는이기 때문에 사용하시면 안됩니다. CList나 CArray 등 해당 클래스에서 static 문법을 사용하는 지를 확인하셔야할 것 같습니다. 출.. 2021. 8. 13.