# librarres **Repository Path**: jhuix888/librarres ## Basic Information - **Project Name**: librarres - **Description**: The librarres project is a library that reads RAR compressed files as resource packages. - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2020-04-16 - **Last Updated**: 2022-04-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Librarres ============= librarres 工程是一读取由RAR压缩文件做为资源包的库。 ## UnRAR RAR文件分析和解压缩采用 [www.rarlab.com](https://www.rarlab.com) 的解压缩[UnRAR 5.6.8](https://www.rarlab.com/rar/unrarsrc-5.6.8.tar.gz)开源版本源码, 该部分源码请遵守它相关的开源许可。 ## Example #### 1. 获取一个test.rar资源包里的名为"skin\\ui\\index.html"的内容至缓存中: ``` JRES::IRes* rarres = JRES::CreateRarRes(true); if (rarres) { if (rarres->Open("test.rar", 0)) { char* buf = nullptr; size_t bufsize = 0; void* res = rarres->LoadResource("skin\\ui\\index.html", &buf, bufsize); if (res) { //TO DO USE data of "buf" rarres->FreeResource(res); } } rarres->Release(); } ``` #### 2. 在windows平台下,获取一个test.rar资源包里的名为"skin/img/caotion.png"的内容至IStream中: ``` JRES::IRes* rarres = JRES::CreateRarRes(false); if (rarres) { if (rarres->Open("test.rar", '/')) { IStream* res = rarres->LoadResource("skin/img/caotion.png"); if (res) { //TO DO USE IStream interface methods of "res"; //For examples: || methods etc. res->Release(); } } rarres->Release(); } ``` ## License [MIT](http://opensource.org/licenses/MIT) Copyright (c) 2018-present, [Jhuix](mailto:jhuix0117@gmail.com) (Hui Jin)