BMMunger
BMMunger 함수는 텍스트에서 지정된 문자열 패턴을 검색하고 그것을 다른 문자열로 대체합니다.
long BMMunger( GSHandle h, // 텍스트 문자열에 대한 핸들 long offset, // 목표 문자열 내 바이트 오프셋 const void *ptr1, // 조작 문자열 long len1, // 조작 문자열의 길이 const void *ptr2, // 치환 문자열 long len2 // 치환 문자열의 길이 );
파라미터
- h
- 조작할 텍스트 문자열에 대한 핸들을 지정합니다.
- offset
- BMMunger 함수가 동작할 목표 문자열 내 바이트 오프셋을 지정합니다.
- ptr1
- BMMunger가 검색하는 문자열의 1번째 문자에 대한 포인터입니다.
- len1
- BMMunger가 검색하는 문자열 내 바이트 수를 지정합니다.
- ptr2
- 치환 문자열의 1번째 문자에 대한 포인터입니다.
- len2
- 치환 문자열 내 바이스 수를 지정합니다.
리턴 값
만약 함수가 성공하면, 리턴 값은 함수의 실제 파라미터에 따라 달라집니다. 더 많은 정보는 Remarks를 보십시오.
만약 함수가 지정된 문자열을 검색하지 못하면, 리턴 값은 Negative 값입니다.
설명
BMMunger 함수는 지정된 포인터 값들이 NULL이거나 길이 값이 0이면 특별한 행동을 취합니다.
- 만약 ptr1이 NULL이면, BMMunger는 검색하지 않고 문자들을 대체합니다. 오프셋 위치에서 시작하는 len1개 문자들을 치환 문자열로 대체합니다.
- 만약 ptr1이 NULL이고 len1이 negative 값이면, BMMunger는 오프셋 위치로부터 문자열 끝까지 모든 문자들을 치환 문자열로 대체합니다.
- 만약 len1이 0이면, BMMunger는 아무 것도 대체하지 않고 치환 문자열을 삽입합니다. BMMunger는 오프셋 위치의 문자열을 삽입하고 삽입이 발생한 과거의 1번째 바이트의 오프셋을 리턴합니다.
- 만약 ptr2가 NULL이면, BMMunger는 검색하지만 대체하지는 않습니다. 이 경우, BMMunger는 문자열이 발견된 오프셋을 리턴합니다.
- 만약 len2가 0이고 ptr2가 NULL이 아니면, BMMunger는 검색하고 삭제합니다. 이 경우, BMMunger는 삭제가 수행된 오프셋을 리턴합니다.
- 만약 오프셋 위치에서 끝까지의 문자열 부분이 BMMunger가 검색하는 문자열의 시작 부분과 일치하면 BMMunger는 해당 부분을 치환 문자열로 대체합니다.
요구사항
헤더: BM.hpp에서 선언됨
라이브러리 가져오기: GSRootImp.lib와 링크