본문 바로가기
728x90

코딩취미/C,C++24

[c언어] sizeof 와 ftell 의 차이점, 사용 목적 sizeof 와 ftell 의 차이점과 사용 목적 정리 sizeof와 ftell은 서로 다른 목적으로 사용되는 것이기 때문에, 파일 크기를 계산할 때 sizeof를 사용하지 않고 ftell을 사용하는 이유가 있습니다. sizeof: sizeof는 C/C++에서 데이터 타입 또는 변수의 크기를 바이트 단위로 반환하는 연산자입니다. sizeof는 컴파일 시간에 계산되며, 변수의 정적인 크기를 반환합니다. 파일의 크기는 런타임에 결정되는 동적인 값이므로, sizeof는 파일 크기를 구하는 데에 사용할 수 없습니다. ftell: ftell 함수는 파일 포인터의 현재 위치를 바이트 단위로 반환합니다. 파일 포인터의 현재 위치는 파일의 크기와 직접적으로 연관되어 있습니다. 파일의 끝으로 이동하면 파일의 크기를 알 .. 2023. 12. 15.
[C언어] fopen 대신 fopen_s 를 사용하는 이유, 특징 정리 fopen_s 사용하는 이유 fopen_s 함수는 파일을 열기 위한 안전한 버전의 함수로, C11 표준에서 도입되었습니다. 이 함수는 버퍼 오버플로우 등의 보안 문제를 방지하기 위해 기존의 fopen 함수를 대체하는 목적으로 도입되었습니다. errno_t fopen_s(FILE** stream, const char* filename, const char* mode); fopen_s 함수의 전달인자: 파일 포인터의 주소 (FILE** stream): 파일 포인터를 저장할 변수의 주소입니다. 파일을 열고 난 후에 이 변수에 파일 포인터가 저장됩니다. 파일 경로 (const char* filename): 열고자 하는 파일의 경로를 나타내는 문자열입니다. 파일 열기 모드 (const char* mode): 파일.. 2023. 12. 14.
[C언어] C11 : ISO/IEC 9899:2011 특징과 내용 C11 : ISO/IEC 9899:2011 C11는 C 언어의 표준인 ISO/IEC 9899:2011 표준을 나타냅니다. 이 표준은 2011년에 제정되었으며, 이전의 C99 표준을 대체하고 확장하는 업데이트를 제공합니다. C11 의 특징과 내용 C11는 기존의 C 표준을 더 나은 표준 라이브러리, 향상된 특징 및 더 많은 확장과 함께 업데이트했습니다. C 프로그래머에게 더 많은 도구와 선택지를 제공하여 효율적이고 안전한 프로그래밍을 할 수 있도록 돕고 있습니다. 특 징 설 명 예제 코드 Atomic Operations 원자 연산을 위한 표준 라이브러리 함수인 가 추가되었습니다. c #include int main() { atomic_int counter = ATOMIC_VAR_INIT(0); atomic.. 2023. 12. 13.
[MFC] CCmdUI 의 특징과 기능 CCmdUI 특징과 기능 CCmdUI는 MFC(Microsoft Foundation Classes) 라이브러리에서 제공되는 클래스 중 하나로, 메뉴 및 툴바 항목과 연결된 명령 상태(Command User Interface) 정보를 관리하는 데 사용됩니다. MFC는 주로 Windows 기반 응용 프로그램을 개발하기 위한 Microsoft의 C++ 라이브러리입니다. CCmdUI 클래스의 주요 특징 및 기능은 다음과 같습니다: 명령 상태 관리: CCmdUI는 주로 명령 상태를 관리하는 데 사용됩니다. 명령 상태란 메뉴 항목 또는 툴바 버튼이 활성화, 비활성화, 선택된 상태 등 어떤 상태에 있는지를 나타냅니다. 예를 들어, 특정 조건에서 메뉴 항목이나 툴바 버튼을 비활성화하고 싶을 때 CCmdUI를 사용하여 .. 2023. 12. 13.
stricmp 와 strnicmp 차이점과 사용방법 stricmp 와 strnicmp 차이점과 사용방법 stricmp (strcasecmp) stricmp 함수는 C 언어의 표준 라이브러리 함수 중 하나로, 두 개의 문자열을 대소문자를 구별하지 않고 비교하는 역할을 합니다. stricmp 함수는 두 문자열이 동일하면 0을 반환하고, 첫 번째 문자열이 두 번째 문자열보다 사전적으로 작으면 음수를, 크면 양수를 반환합니다. stricmp는 일부 특정 플랫폼이나 컴파일러에서 제공되는 확장 함수입니다. 대신, 표준 함수인 strcasecmp를 사용할 수 있는 경우가 많습니다. int strcasecmp(const char *s1, const char *s2); s1: 비교할 첫 번째 문자열의 포인터입니다. s2: 비교할 두 번째 문자열의 포인터입니다. strca.. 2023. 12. 6.
vsnprintf 의 기능과 가변인자(va_list) 리스트 사용 방법 vsnprintf(buf, sizeof(buf), fmt, vl)의 기능 vsnprintf 함수는 형식 문자열과 가변 인자 리스트를 받아서 문자열을 생성하는 함수입니다. 이 함수는 printf와 비슷하지만, 출력 대상이 버퍼에 저장된다는 점이 다릅니다. 함수의 원형은 다음과 같습니다. int vsnprintf(char *buf, size_t size, const char *fmt, va_list vl); buf: 문자열을 저장할 버퍼의 포인터입니다. size: 버퍼의 크기입니다. 버퍼에 저장할 수 있는 최대 문자 수를 나타냅니다. fmt: 형식 문자열입니다. 이는 printf와 동일한 형식을 사용합니다. vl: 가변 인자 리스트입니다. va_start 및 va_arg와 함께 사용됩니다. vsnprintf.. 2023. 12. 6.
728x90