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
삽입된 데이터는 다음 스니펫에 설명된 대로 프로그램을 실행하세요.
// 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!