Loading a raw File from Resource

c++, file, file-io, resources, winapi

Solution

Take the following steps:

- Call `FindResource` passing module handle, resource type and resource name. This yields a `HRSRC`. Note that if you have a resource ID rather than a resource name, use `MAKEINTRESOURCE` to convert.

- Call `LoadResource` passing the `HRSRC` from the previous step. This yields an `HGLOBAL`.

- Call `LockResource` passing the `HGLOBAL`. This yields a pointer to the first byte of the resource.

- Call `SizeofResource` passing the `HRSRC` to find the size of the resource.

- Copy the content of the resource into your buffer using the pointer retrieved from step 3, and the size retrieved from step 4.

Problem

Whats the easiest way to load a raw file from a resource in C++ using the WinAPI? I just want to load the file(for example .txt) into a char array. I searched on the internet but I couldn't really find something useful and simple like LoadStringFromFile(int idFromResource, char* buffer).

Original source