Windows アプリケーションの実行可能リソースへのテキストの埋め込み
テキスト ファイルを含む C Windows プログラム内へのデータの埋め込みは、ユーザー定義によって実現できます。リソース。この手法では、テキスト ファイルのバイナリ コンテンツを含む別のリソース ファイルを作成し、実行時に動的にロードしてアクセスできるようにします。
リソース ファイルの作成
テキスト ファイルを埋め込むには、次のリソース ファイル (.rc) を作成します。ガイドライン:
[resourceName id] [resourceType id] [filename]
ここで:
例:
IDR_MYTEXTFILE TEXTFILE "mytextfile.txt"
リソースの読み込み
埋め込みリソースは、FindResource やリソースをロードします。実装例は次のようになります:
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 中国語 Web サイトの他の関連記事を参照してください。