將文字嵌入到Windows 應用程式的可執行資源
在C Windows 程式中嵌入數據,包括文字文件,可以透過使用者定義來實現資源。此技術涉及創建一個包含文字文件的二進制內容的單獨資源文件,允許在運行時動態載入和存取它。
資源檔案建立
要嵌入文字文件,請依照下列準則建立資源檔案(.rc):
[resourceName id] [resourceType id] [filename]
其中:
例如:
IDR_MYTEXTFILE TEXTFILE "mytextfile.txt"
資源載入
可以使用FindResource和LoadResource等函數在程式碼中載入資源。範例實作可能如下所示:
void LoadFileInResource(int name, int type, DWORD& size, const char*& data) { HMODULE handle = ::GetModuleHandle(NULL); HRSRC rc = ::FindResource(handle, MAKEINTRESOURCE(name), MAKEINTRESOURCE(type)); HGLOBAL rcData = ::LoadResource(handle, rc); size = ::SizeofResource(handle, rc); data = static_cast<const char*>(::LockResource(rcData)); }
其中:
用法
然後可以在程式中存取和處理嵌入的數據,如以下程式碼片段所示:
// Usage example int main() { DWORD size = 0; const char* data = NULL; LoadFileInResource(IDR_MYTEXTFILE, TEXTFILE, size, data); // Access bytes in data - here's a simple example involving text output char* buffer = new char[size+1]; ::memcpy(buffer, data, size); buffer[size] = 0; // NULL terminator ::printf("Contents of text file: %s\n", buffer); // Print as ASCII text delete[] buffer; return 0; }
請按照以下步驟,您可以輕鬆嵌入文字檔案或其他資料作為資源匯入到您的本機Windows 應用程式中,確保動態存取並簡化您的程式碼組織。
以上是如何使用 C 將文字檔案嵌入到 Windows 應用程式的可執行資源中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!