>백엔드 개발 >C++ >기본 Windows 응용 프로그램에 텍스트 파일을 리소스로 포함하는 방법은 무엇입니까?

기본 Windows 응용 프로그램에 텍스트 파일을 리소스로 포함하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-21 08:58:09800검색

How to Embed Text Files as Resources in Native Windows Applications?

기본 Windows 애플리케이션에 텍스트 파일을 리소스로 포함

C Windows 애플리케이션에서 텍스트 파일을 리소스로 포함할 수 있습니다. 런타임에 로드되고 구문 분석되는 별도의 파일로 사용하지 마세요.

사용자 정의 리소스

텍스트 파일을 포함하려면 리소스 파일에 다음 형식으로 사용자 정의 리소스를 생성합니다.

nameID typeID filename

여기서:

  • nameID: ID를 식별하는 고유한 16비트 부호 없는 정수입니다. 리소스.
  • typeID: 리소스 유형을 식별하는 255보다 큰 고유한 16비트 부호 없는 정수.
  • 파일 이름: 텍스트 경로 파일을 삽입합니다.

예:

#define TEXTFILE        256
#define IDR_MYTEXTFILE  101

IDR_MYTEXTFILE TEXTFILE "mytextfile.txt"

리소스 로드

포함된 텍스트 파일을 로드하려면 다음 코드를 사용합니다.

DWORD size = 0;
const char* data = NULL;
LoadFileInResource(IDR_MYTEXTFILE, TEXTFILE, size, data);

여기서:

  • IDR_MYTEXTFILE 리소스의 nameID입니다.
  • TEXTFILE은 리소스의 typeID입니다.
  • size는 포함된 텍스트 파일의 크기(바이트)입니다. .
  • data는 포함된 텍스트의 데이터에 대한 포인터입니다.

포함된 텍스트 파일의 내용에 액세스

data 포인터는 포함된 텍스트 파일의 내용을 가리킵니다. 다음과 같이 텍스트에 액세스할 수 있습니다.

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

제한 사항

포함된 텍스트 파일의 데이터는 일정하며 검색된 포인터를 통해 직접 수정할 수 없습니다. . 수정하려면 BeginUpdateResource(), UpdateResource(), EndUpdateResource() 함수를 사용하세요.

위 내용은 기본 Windows 응용 프로그램에 텍스트 파일을 리소스로 포함하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.