본문 바로가기
반응형

C언어5

초보자를 위한 C언어 가변 인자 함수: va_list, va_start, va_end 완벽 가이드 초보자를 위한 C언어 가변 인자 함수: va_list, va_start, va_end 완벽 가이드C언어에서 가변 인자 함수는 인자의 개수가 고정되지 않은 경우, 다양한 개수의 인자를 받아 처리할 수 있는 강력한 기능을 제공합니다. 대표적인 예로 printf 함수가 있는데, 이 함수는 여러 개의 인자를 받아서 문자열로 출력합니다. 이러한 가변 인자 함수를 구현하기 위해서는 va_list, va_start, va_arg, va_end와 같은 매크로들을 사용해야 합니다. 여기에서는 이 매크로들의 역할을 자세히 설명하고, 가변 인자 함수를 작성하는 방법을 정리했습니다.1. 가변 인자 함수란?가변 인자 함수는 호출 시 전달되는 인자의 개수가 고정되지 않은 함수입니다. 예를 들어, printf 함수는 다양한 개수의.. 2024. 9. 13.
[c언어] 문자열에 특정 부분 문자열 찾는 함수(strstr)외 문자열 제어함수 9가지 문자열에 특정 부분 문자열 찾는 함수(strstr)외 문자열 제어함수 9가지strstrstrstr 함수는 문자열에서 특정 부분 문자열(substring)을 찾는 함수로, C 표준 라이브러리에 포함되어 있습니다. strstr 함수의 전달인자와 반환값, 그리고 사용 방법에 대해 설명하겠습니다. strstr 함수의 전달인자:대상 문자열 (const char *haystack):부분 문자열을 찾을 대상이 되는 문자열입니다.찾을 부분 문자열 (const char *needle):대상 문자열에서 찾고자 하는 부분 문자열입니다.strstr 함수의 반환값:부분 문자열의 첫 번째 등장 위치 포인터 (const char *):대상 문자열에서 찾은 부분 문자열의 첫 번째 문자에 대한 포인터를 반환합니다.만약 부분 문자열을 .. 2023. 12. 18.
[c언어] fread, fseek, fwrite 전달인자와 사용방법 (파일 입출력) fread, fseek, fwrite 전달인자와 사용방법 (파일 입출력)fread기능 : 파일에서 데이터를 읽어오는 함수.string fread(resource $handle, int $length);size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);fread 함수의 전달인자:데이터를 저장할 버퍼 (void *ptr):읽어온 데이터를 저장할 메모리 버퍼의 시작 주소를 가리키는 포인터입니다.void * 타입으로 선언되어 있어 어떤 데이터 타입의 버퍼든 사용할 수 있습니다.각 요소의 크기 (size_t size):각 요소의 크기를 바이트 단위로 지정합니다.예를 들어, int 형식의 데이터를 읽을 때는 sizeof(int)와 같이 사용할 수 있.. 2023. 12. 17.
[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.
반응형