사용범위
Windows, Unix 등 모든 OS에서 사용가능한 표준 API 함수
기능
C언어 표준 함수로 버퍼 범위에서 특정 문자의 첫 번째 위치를 찾을 때 사용한다.
헤더
#include <string.h>
※ memchr 함수 사용 시 string.h 파일을 include 하지 않는다면 컴파일 시 error 발생 ※
함수
void *memcpy(const void *buf, int val, size_t count);
파라미터
- const void *buf
- 특정 문자를 검색할 버퍼를 입력한다.
- int val
- 버퍼에서 검색할 문자를 입력한다.
- size_t count
- 검색할 버퍼의 범위를 byte 단위로 입력한다.
반환값
문자(val) 을 찾은 경우 문자열에서 val 의 첫 번째 위치의 포인터를 반환
문자(val) 을 찾지 못한 경우 NULL 을 반환
<소스 코드>
#include <stdio.h>
#include <string.h>
int main() {
char buffer[] = "memchr example source code";
char find_chr = 'm';
char *tmp = NULL;
char *ret = NULL;
tmp = buffer;
do {
ret = memchr(tmp, find_chr, 7);
if(ret) {
printf("ret(%p) : [%s]\n", ret, ret);
}
// next char
tmp = ret + 1;
} while(ret);
return 0;
}
(buffer 의 7 byte 범위에서 문자 'm' 을 순차적으로 검색)
※ 실행 결과
ret(000000000061FDB0) : [memchr example source code]
ret(000000000061FDB2) : [mchr example source code]
반응형
'C언어 > string.h' 카테고리의 다른 글
[C언어] strrchr 함수 (문자열의 마지막부터 문자를 검색) (2) | 2023.02.24 |
---|---|
[C언어] memset 함수 (메모리 셋팅 함수) (0) | 2023.02.05 |
[C언어] strchr 함수 (문자열에서 문자 검색) (0) | 2022.12.22 |
[C언어] memcmp 함수 (메모리 비교 함수) (0) | 2022.11.11 |
[C언어] strncpy 함수 (문자열 복사) (1) | 2022.10.03 |