본문 바로가기

반응형

C, C++, C#/Tip

(10)
[C++]시스템 시간 반환 함수(millisecond) 이번 포스팅은 시시템 시간 반환 함수에 대한 포스팅입니다. 간단하게 [2023.08.11-10:10:10.111] 초 와 같은 string 을 반환 하는 함수입니다. 이런 함수는 로그를 남기거나 시간을 기록할때 사용하면 될것 같습니다. ※ 참고 : Visual Studo 2022버전에서는 정상 작동했는데 2015버전에서는 동작하지 않는 것 같으니 참고하세요 include include include include using namespace std; using namespace std::chrono; template std::string string_format(const std::string& format, Args ... args) { size_t size = snprintf(nullptr, 0, f..
C++ double Infinity, -nan(ind) 예외 처리 방법 안녕하세요. 이번 포스팅은 C++ double의 Infinity, -nan(ind) 예외 처리 포스팅입니다. 제 스스로 메모를 위한 포스팅입니다. 실수값인지 체크하는 함수입니다. #include //! double 값의 쓰레기값 여부를 확인 //return - ture : 실수값 //- flase : 쓰레기값 bool IsTrashValue(double x) { int i = _fpclass(x); if ( i == _FPCLASS_SNAN || //Signaling NaN"; i == _FPCLASS_QNAN || //Quiet NaN"; i == _FPCLASS_NINF || //Negative infinity (-INF)"; //i == _FPCLASS_NN || //Negative normaliz..
Boost 라이브러리 환경설정 및 Visual Studio 2019 디렉토리 설정 목적 1) Boost 라이브러리 환경설정 2) Visual Studio 2019 추가 디렉토리 설정 1) Boost라이브러리 환경설정 부스트 버전 : 1.72버전을 사용했습니다. 부스트 라이브러리 다운로드 링크는 다음과 같습니다. 다운로드 링크 ※ D드라이브 기준으로 설치했으니 원하는 디렉토리를 설정해주세요 2) Visual Studio 2019 추가 디렉토리 설정 Visual Studio에서 Boost라이브러리를 사용하기 위한 설정 방법입니다. 시스템 환경변수 설정 후 환경변수를 통해 라이브러리를 연동했습니다. 여기서 설정한 변수 이름을 통해 개발환경에서 사용됩니다. [C/C++]->[일반]->[추가포함 디렉토리] - %BOOST_ROOT% - %BOOST_ROOT%\boost [링커]->[일반]->[..
[BCGControlBar(MFC)] Visual Studio 2019 BCG 설치 및 개발환경 구축 목적 1) BCGControlBar의 설치 과정 2) Visual Studio 2019에서 사용가능하도록 컴파일 수행 과정 BCG를 구매 후 설치 파일 및 라이센스가 있는 상태에서 설치과정을 포스팅합니다. - 해당 포스팅에서 사용되는 버전은 BCGControlBar Pro for MFC version 3.4 입니다. BCG URL : https://bcgsoft.com/index.htm 1) BCGControlBar의 설치 과정 1. BCGControlBar 설치파일 실행 및 라이센스 입력 후 Next 버튼 선택 2. 추가로 Next 버튼 선택 3. 승인 라디오 버튼 선택 후 Next 버튼 선택 4. Complete 선택 후 Next 버튼 선택 5. Install 버튼 선택 6. 설치가 수행 완료되고 F..
GetPrivateProfileString, GetPrivateProfileInt 오류 목적 ini파일을 얻어오는 getprivateprofilestring 사용하면서 발생한 오류 해결 포스팅 개발을 하면서 C++언어와 C#언어를 이용해 개발을 하며 ini를 통해 설정 정보를 수정할 수 있도록 개발을 하는 도중 이유를 알수 없게 ini파일을 읽어오지 못하는 경우가 발생하였다. 위 그림은 ini파일의 저장 인코딩 때문에 발생한 문제점임을 알 수 있었고 간단히 정리하자면 다음과 같다. 1. 함수 사용 시 문자 집합에 따라 차이가 있다. 문자 집합에 따라 GetPrivateProfileㅁㅁㅁA, GetPrivateProfileㅁㅁㅁW로 사용된다. Winbase.h를 보면 아래 코드블럭과 같이 정의가 되어있다. #ifdef UNICODE #define GetPrivateProfileString G..
GetPrivateProfileString, GetPrivateProfileInt 주의사항 목적 ini파일을 사용하면서 발생한 주의사항 포스팅 프로그램을 개발하다보면 ini파일을 사용하는 경우가 있었습니다. 간략하게 설명하면 ini는 [파일경로], [Section], [Key]로 구분지어 텍스트에 입력한 값을 사용하는 역할을 합니다. 해당 정보를 얻어오기 위해 GetPrivateProfileString, GetPrivateProfileInt, GetPrivateProfileSection 등과 같은 함수를 사용하여 간단하게 INI 정보를 가져올 수 있습니다. Info.txt [NETWORK] IP=127.0.0.1 PORT=50003 파일경로 : Info.txt Section : NETWORK KEY : IP Output -> 127.0.0.1 저는 윈도우 환경의 실행경로에 있는 INI파일을 사..
Visual Studio 전처리 안녕하세요. 오늘은 Visual Studio 전처리 방법에 대한 포스팅입니다. 전처리에 대한 내용도 에러에 따라 조금씩 추가로 정리할 수 있도록 하겠습니다. 다들 보기 쉽도록 에러->추가해야할 전처리에 대해 가장 보기 쉽게 작성해 보겠습니다. 일단 전처리를 추가하는 방법에 대해 설명하겠습니다. 1) 솔루션 탐색기 -> 해당 프로젝트 -> 속성 클릭 2) 구성속성 -> C/C++ -> 전처리기 -> 전처리기 정의 우측 화살표 -> 편집 클릭(※해당 처리에서 구성 속성 밑 항목이 없는 경우는 1) 수행에서 솔루션 속성을 선택했는지 확인 바랍니다.) 3)해당 리스트에서 추가할 전처리기 정의를 입력하고 확인을 클릭합니다. 아래는 에러와 추가해야할 전처리 정의를 설명하겠습니다. -------------------..
copy stl vector<->array 형변환 정리 안녕하세요. 오늘은 stl vector와 array의 복사에 대해 정리를 하려고 합니다. 점점 개발을 하면서 형식이 다른 정보를 넘겨줄 때가 헷갈릴때가 많이 생기네요 오늘 정리 내용은 그 중에서 가장 많이 사용하는 stl에 대한 복사 입니다. copy에 대한 내용을 점점 추가 할 예정이기 때문에 소스코드는 가장 하단에 첨부 했습니다. ※여기서 주의 할 점은 stl에서 제공하는 copy 사용 시 Visaul Studio 버전에 따라 동적할당(new)해서 처리되는 copy를 오류로 처리됩니다. 오류 발생시 Visual Studio 전처리 1번 항목을 수행해주시기 발랍니다.(링크) 아래 소스코드를 보시면 쉽게 확인할 수 있습니다. ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ //2..

반응형