CreateFileMapping 함수는 메모리 매핑 파일에 대한 포인터를 반환하며 배열로 해당 메모리 매핑을 처리하려고합니다. C++의 배열로 포인터 변환
는 여기에 내가 기본적으로 수행 할 작업은 다음과 같습니다char Array[] = (char*) CreateFileMapping(...);
을 분명히 나는 단순히 내 팔을 흔들고 포인터는 이제 배열임을 선언 할 수 없습니다 제외.
내가 어떻게이 작업을 수행 할 수 있는지 알고 계신가요? 큰 파일에 너무 많은 메모리를 사용하기 때문에 포인터가 가리키는 값을 배열에 복사하고 싶지 않습니다.
감사합니다.
굉장합니다, 감사합니다! –
배열과 포인터에서 sizeof()를 호출하면 다른 값이 반환됩니다. 포인터는 배열이 아닌 포인터의 크기를 반환합니다. 즉, 배열 길이 트릭을 수행하는 대신 배열의 크기를 전송해야합니다. 'char (* p) [] = ...'를 실행하여 진정한 포인터 포인터를 생성 한 다음'(* p) [123] = 'x';를 사용하여 멤버를 얻을 수 있습니다. 그것을 따라 가지 않고 크기를 얻는다. –