Heim  >  Artikel  >  Backend-Entwicklung  >  Wie bette ich Textdateien als Ressourcen in native Windows-Anwendungen ein?

Wie bette ich Textdateien als Ressourcen in native Windows-Anwendungen ein?

Susan Sarandon
Susan SarandonOriginal
2024-11-21 08:58:09740Durchsuche

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

Textdatei als Ressource in native Windows-Anwendungen einbetten

In Ihrer C-Windows-Anwendung können Sie eine Textdatei als Ressource einbetten Vermeiden Sie, dass es sich um eine separate Datei handelt, die zur Laufzeit geladen und analysiert wird.

Erstellen einer benutzerdefinierten Datei Ressource

Um eine Textdatei einzubetten, erstellen Sie eine benutzerdefinierte Ressource mit dem folgenden Format in einer Ressourcendatei:

nameID typeID filename

wobei:

  • nameID: Eine eindeutige 16-Bit-Ganzzahl ohne Vorzeichen, die identifiziert Ressource.
  • Typ-ID: Eine eindeutige 16-Bit-Ganzzahl ohne Vorzeichen größer als 255, die den Ressourcentyp identifiziert.
  • Dateiname: Der Pfad zum Text Datei, die eingebettet werden soll.

Für Beispiel:

#define TEXTFILE        256
#define IDR_MYTEXTFILE  101

IDR_MYTEXTFILE TEXTFILE "mytextfile.txt"

Laden der Ressource

Um die eingebettete Textdatei zu laden, verwenden Sie den folgenden Code:

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

wobei:

  • IDR_MYTEXTFILE ist die Namens-ID des Ressource.
  • TEXTFILE ist die Typ-ID der Ressource.
  • Größe ist die Größe der eingebetteten Textdatei in Bytes.
  • data ist ein Zeiger auf die Daten im eingebetteten Text Datei.

Zugriff auf den Inhalt der eingebetteten Textdatei

Der Daten-Zeiger zeigt auf den Inhalt der eingebetteten Textdatei. Sie können wie folgt auf den Text zugreifen:

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

Einschränkungen

Beachten Sie, dass die Daten in der eingebetteten Textdatei konstant sind und nicht direkt über den abgerufenen Zeiger geändert werden können . Um es zu ändern, verwenden Sie die Funktionen BeginUpdateResource(), UpdateResource() und EndUpdateResource().

Das obige ist der detaillierte Inhalt vonWie bette ich Textdateien als Ressourcen in native Windows-Anwendungen ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn