본문 바로가기

분류 전체보기197

[C++] Error 'scanf': This function or variable may be unsafe 발생 해결 방법 [Scanf 사용 에러 발생]상위 Visualstudio 에서 빌드를 할 경우 표준라이브러리 Scanf나 Gets, atoi 함수를 사용하게 되면 해당 문구가 출력되는 경우가 있습니다. 빌드나 디버그가 되지 않아 컴파일이 불가능합니다. 아래와 같이 에러메시지가 발생되며 빌드 자체가 안되게 됩니다.'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.메모리의 안정성 때문에 VS에서 자체적으로 막아놓은 것으로 보입니다. SDL (Security Development Life.. 2024. 5. 23.
[C++] 입출력 속도 개선 / 백준 시간초과 해결 방법 / cin.tie(NULL)과 sync_with_stdio(false) [입출력을 개선하는 방법]대부분 알고리즘 해석과 debug 하는 데 있어 console창을 많이 사용합니다. 이미 다들 알고계시겠지만 C++에서 콘솔에 입출력하는 방법은 두 가지 존재합니다. 기존의 Scanf와 Printf를 사용하는 방법과 std함수의 cin과 cout를 이용하는 방법입니다. 그런데 문제 해석에 있어 어떤부분은 cout를 사용해도 정상적으로 진행되고, 어떤 부분은 진행이 안 되는 케이스가 존재합니다. 이런 현상을 이해하기 위해서는 정확하게 어떤 식으로 std함수가 동작하는지 확인해야 하지만 시간상 해결방법을 먼저 설명하겠습니다. 코드의 앞부분에 cin.tie(NULL) sync_with_stdio(false) 두개 문장을 입력하면 증상이 해결됩니다.  [cin.tie]tie는 의미와 반.. 2024. 5. 21.
[MFC / C++] std 함수 정의와 사용 방법 / 표준 입출력 namespace 정의 (std 생략하기) [std란]모든 프로그램 언어가 그렇듯 C++에서도 많은 표준 라이브러리를 지원합니다. 대표적으로 프로그램 입문에서 배우는 #Include 가 있습니다. 바로 표준 입출력 제어를 쉽게 할 수 있도록 도와주는 헤더 파일입니다. std는 "Standard" 표준의 약자로 C++ 표준 라이브러리의 모든 식별자를 직접 사용할 수 있도록 도와줍니다. 추가로 여러 라이브러리를 지원하는데 종류가 워낙 방대하여 위키를 참조하시는게 좋습니다. 간단하게 확인하는 방법은 std 입력 후 마우스 우클릭 -> F12버튼을 클릭해 참조 함수를 확인할 수 있습니다. [std 대표 함수]프로그램에 입문하게 되면 가장 먼저 출력에 대해 배우게 됩니다. C언어에서는 Print.f를 배우는데요. C++에서도 동일하게 사용 가능하지만 표준.. 2024. 5. 12.
[WPF / C#] 프로그램 설정 파일 한번에 불러오기 / ini파일 한번에 읽기 / 제네릭T 함수 [ini 설정파일] 프로그램을 짜다 보면 설정값을 UI에서 수정하면 별도로 저장해야 하는 파일을 관리해야 하는 경우가 많습니다. 그 외에 프로그램을 빌드하지 않아도 프로그램을 재시작하면 설정파일을 적용해야 되는 경우도 다반사고, UI에서 사용자가 제어하면 위험하지만 개발자나 관리자급에서만 컨트롤할 수 있도록 설정파일을 밖으로 빼는 경우가 있습니다. 대부분 설정파일은 .ini 확장자로 저장하게 되는데 일반 텍스트로 구성하게 되면 섹션이 구분되어 있지 않기 때문에 유지보수가 어렵습니다. ini 파일은 섹션과 키값에 따라 설정파일 내부 내용을 설정할 수 있는 큰 장점이 있습니다. ini 파일을 읽는 방법에도 여러 가지가 존재하는데 물론 가장 간단한 방법은 섹션과 키값을 읽어오는 함수를 만들고 이를 읽어오는 작.. 2024. 4. 2.