Membenamkan Teks ke dalam Sumber Boleh Laku untuk Aplikasi Windows
Membenamkan data dalam program C Windows, termasuk fail teks, boleh dicapai melalui yang ditetapkan pengguna sumber. Teknik ini melibatkan penciptaan fail sumber berasingan yang mengandungi kandungan perduaan fail teks, membolehkan ia dimuatkan dan diakses secara dinamik semasa masa jalan.
Penciptaan Fail Sumber
Untuk membenamkan fail teks, cipta fail sumber (.rc) berikutan ini garis panduan:
[resourceName id] [resourceType id] [filename]
Di mana:
Contohnya:
IDR_MYTEXTFILE TEXTFILE "mytextfile.txt"
Pemuatan Sumber
Sumber terbenam boleh dimuatkan dalam kod menggunakan fungsi seperti FindResource dan LoadResource. Contoh pelaksanaan mungkin kelihatan seperti ini:
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)); }
Di mana:
Penggunaan
Data terbenam kemudiannya boleh diakses dan diproses dalam program, seperti yang digambarkan oleh coretan berikut:
// 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; }
Dengan mengikuti langkah-langkah ini, anda boleh dengan mudah membenamkan fail teks atau data lain ke dalam aplikasi Windows asli anda sebagai sumber, memastikan akses dinamik dan memperkemas organisasi kod anda.
Atas ialah kandungan terperinci Bagaimanakah saya boleh membenamkan fail teks ke dalam sumber boleh laku untuk aplikasi Windows menggunakan C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!