buffer_load_partial 함수 설명
buffer_load_partial
함수는 이전에 buffer_save
함수를 사용하여 저장된 일부 버퍼 데이터를 기존 버퍼에 로드하는 기능을 제공합니다. 이 함수는 다음과 같은 인자를 사용하여 데이터를 로드합니다:
- buffer: 데이터를 로드할 대상 버퍼
- filename: 로드할 파일의 이름
- offset: 대상 버퍼의 시작 위치에서 데이터를 쓰기 시작할 오프셋 (바이트 단위)
- src_len: 로드할 소스 버퍼의 길이 (바이트 단위)
- dest_offset: 대상 버퍼에서 부분 데이터를 넣기 시작할 오프셋 (바이트 단위)
문법
buffer_load_partial(buffer, filename, offset, src_len, dest_offset);
인자 설명
인자 | 타입 | 설명 |
---|---|---|
buffer | Buffer | 데이터를 로드할 대상 버퍼 |
filename | String | 로드할 파일의 이름 |
offset | Real | 대상 버퍼 내에서 로드할 위치 (바이트) |
src_len | Real | 로드할 소스 버퍼의 길이 (바이트) |
dest_offset | Real | 대상 버퍼에서 부분 데이터를 넣기 시작할 위치 (바이트) |
반환값
N/A
활용 예제
예제 1: 기본 사용법
buff = buffer_create(256, buffer_grow, 1);
var _file = "save.dat";
var _so = 6; // 소스 오프셋
var _sl = 5; // 소스 길이
var _do = 0; // 대상 오프셋
buffer_load_partial(buff, _file, _so, _sl, _do);
위 코드는 새로운 "grow" 버퍼를 생성하고, "save.dat" 파일에 저장된 데이터의 일부를 로드합니다.
예제 2: 다른 파일에서 데이터 로드
buff = buffer_create(512, buffer_grow, 1);
var _file = "another_save.dat";
var _so = 10; // 소스 오프셋
var _sl = 20; // 소스 길이
var _do = 100; // 대상 오프셋
buffer_load_partial(buff, _file, _so, _sl, _do);
이 코드는 "another_save.dat" 파일에서 데이터를 로드하여 버퍼의 특정 위치에 저장합니다.
예제 3: 데이터 크기 조정
buff = buffer_create(1024, buffer_grow, 1);
var _file = "large_save.dat";
var _so = 0; // 소스 오프셋
var _sl = 512; // 소스 길이
var _do = 256; // 대상 오프셋
buffer_load_partial(buff, _file, _so, _sl, _do);
이 예제에서는 "large_save.dat" 파일에서 512바이트의 데이터를 로드하여 버퍼의 256바이트 위치에 저장합니다.
예제 4: 데이터 덮어쓰기
buff = buffer_create(256, buffer_grow, 1);
var _file = "overwrite.dat";
var _so = 0; // 소스 오프셋
var _sl = 256; // 소스 길이
var _do = 0; // 대상 오프셋
buffer_load_partial(buff, _file, _so, _sl, _do);
이 코드는 "overwrite.dat" 파일의 모든 데이터를 버퍼의 시작 위치에 덮어씁니다.
이와 같은 방식으로 buffer_load_partial
함수를 활용하여 다양한 데이터 로드 작업을 수행할 수 있습니다.