프로그래밍
-
[C, C++, File] fprintf를 이용한 로깅 관련 매크로 작성프로그래밍/C++ 2019. 7. 4. 17:53
fprintf 를 이용할 때, 주의해야할 점이 있습니다. 꼭..! 반드시...! fflush(filepointer); 를 해주셔야 한다는 점...! 저는 최근, fflush를 누락시킨 것 때문에 제 file에 output이 남질 않아서... 한참을 헤맸었습죠.. 방황했던 이유는, fflush를 넣고 분명히 해봤었음에도 불구하고 제대로 동작하질 않.... ㅎ... 뭐 제가 제대로 하지 않았었겠지요. 프로그래머의 잘못입니다.. 녜녜... 위의 이미지를 참고하시어 부디 간단하게 로그를 작성하실 수 있길 빕니다. 다들 아시겠지만, AGENT_LOG("할말%d%s%x", 정수변수, 문자열변수, 16진수변수); 등의 형태로 사용이 가능합니다. 아.. 참고로 File에 쓰기 위해서 pLogFile 을 이용해줬는데, ..
-
[c++, VS2013] Visual Studio 2013 Error: c4996 this function or variable may be unsafe프로그래밍/C++ 2019. 5. 24. 13:42
Visual Studio 2013에서 scanf 를 쓰려다보니 발생하는 에러. 해당 에러 메시지를 잘 읽어보면 해결방법이 나와있다. 해당 에러가 출력되는 코드 혹은 해당 코드가 물고있는 헤더에 다음을 추가해주자. #define _CRT_SECURE_NO_WARNINGS 임시 방편이긴 하지만, 간단히 해결하고 넘어가는게 가능하다. 하지만 되도록 에러 메시지에도 나와있듯, scanf -> scanf_s 처럼 추천하는 해결책을 이용하기 바란당.
-
[C++, rapidjson] AddMember 시의 형변환 문제프로그래밍/C++ 2019. 5. 14. 13:06
rapidjson 을 사용해 array 형태의 json message 를 만들다보니.. 내가 원하는건 std::string 을 사용해서 A :{[B:C, D:F]} 형태로 모두 string 으로 이뤄진 배열을 만드는 것. rapidjson::Document tempres; tempres.SetObject(); rapidjson::Value integrityArray(rapidjson::kArrayType); rapidjson::Document::AllocatorType& allocator = tempres.GetAllocator(); for (auto iter : *objArray) { rapidjson::Value objValue; rapidjson::Value strValue; objValue.Set..
-
[C++] std::string convert std::wstring프로그래밍/C++ 2019. 5. 14. 00:08
std::string -> std::wstring std::string str = "I want convert this string"; std::wstring wstr; str.assign(wstr.begin(), wstr.end()); std::wstring -> std::string std::wstring wstr = "I want convert this string"; std::string str; wstr.assign(str.begin(), str.end());
-
[git] Remote 를 추가하기, 추가한 Remote에 push하기.프로그래밍/기타 2019. 4. 17. 17:24
현재 Repository : origin 새로 추가할 Repository : new_origin 로컬의 branch : master, develop //git remote add [remote name] [remote addr] git remote add new_origin git@I.P.주.소:port/project/whoisjmh.git git remote origin new_origin //세부 내용 열람하려면 //git remote -v //new_origin master 브랜치에 push git push new_origin master 추가한 Remote인 new_origin 에도 특정 branch가 존재하고 권한이 있다면, 로컬의 특정 branch를 Remote의 특정 branch로 push ..
-
Microsoft Office 2010 관련 설치/제거 문제프로그래밍/기타 2019. 4. 11. 14:18
해결법은 맨 아래에. 윈도우 10에서, 임시파일, 저장된 설치파일 및 오래된 업데이트 파일들을 정리한 이후 발생한 문제. MS Office 2010이 분명 설치되어있고, 잘 쓰고 있었는데. 어느 순간, ppt나 docx 등 office 파일을 열려고 시도하면 제품이 설치되어있지 않다고 나옴. 그래서 프로그램 추가/제거(win+r -> appwiz.cpl 엔터) 가보면 목록에 있음. 목록에 있는 MS Office 2010을 우클릭해서 변경 시도. 설치 파일 원본이 손상되었다고 어쩌구 저쩌구 나오며 재설치가 필요하다는 메시지. 재설치를 위해 기존 Office setup 파일(갖고 있는 iso 던, 설치파일이던, 공식 홈페이지에서 받던..) 실행. 이전 groove 또는 microsoft groove serv..
-
[MFC] CString <-> LPCSTR 변환프로그래밍/C++ 2016. 12. 24. 14:43
자꾸만 까먹어서 적어둠. 먼저, CString -> LPCSTR 변환. CString 을 CStringA 로 바꾸어 LPCSTR 로 넘기면 됨. void func1(LPCSTR lpcstrparam) 여기에 CString cstrX; 를 넘기려면, func1((CStringA)cstrX); 처럼 주면 됨(VS 2013기준). 그리고, LPCSTR -> CString 변환. LPCSTR lpcs = "1234"; CStringA cstra(lpcs); CString cstr(cstra); 뭐 대충 이렇게.... A2CT 함수를 쓰는 방법도 있다는데, 그냥... ㅎㅎㅎ
-
[MFC] CString 문자열의 Delete 함수프로그래밍/C++ 2016. 12. 20. 18:30
int Delete( int nIndex, int nCount = 1); 해당 함수는 위와 같은 형태를 가짐. nIndex 의 위치에서부터 nCount 만큼의 문자열을 지운다. 여기서 주의할 점은... nIndex 에 마찬가지로 CString 에서 제공하는 GetLength 함수를 사용했을 경우엔 꼭 -1을 해주자.....ㅠ 하...! https://msdn.microsoft.com/ja-jp/library/ms928979.aspx