2015-03-22 3 views
-3

Я пытаюсь объединить файл с моим исполняемым файлом и прочитать объединенный файл. Я объединять их с командой Windows;Загрузка файлов, связанных с исполняемым файлом

copy /b Game.exe+Image.jpg TheGame.exe 

Вот что я пробовал:

std::ifstream f("Image.jpg"); 
if (f.good()) { 
    std::cout << "Found Image.jpg" << std::endl; 
} 

Image.jpg находится в том же каталоге, что и в результате исполняемый файл, и он работает. Однако, когда я использую команду для их объединения, а затем удаляю файл Image.jpg, он не найден (хотя он объединен с исполняемым файлом.)

Любые предложения?

+1

WTH Вы пытаетесь достичь? Слияние файлов '.jpg' вместе? Это не будет работать из простого подхода. –

+0

Укажите, какое программное обеспечение вы используете для «объединения» ресурса с исполняемым файлом. – Felype

+0

@ πάνταῥεῖ - У вас есть опечатка WTH -> WTF –

ответ

0

ifstream работает только с внешними файлами. Вы удалили файл, который он пытается открыть, поэтому, конечно, он не найдет файл. То, что вы пытаетесь, не может (легко) быть выполнено с использованием двоичных слияний. Если вы хотите сохранить файл внутри исполняемого файла, правильный подход заключается в его сохранении в ресурсе. Прочтите следующую главу в MSDN для получения дополнительной информации.

Introduction to Resources

В частности, в следующем примере показано, как идут создать новый ресурс в EXE-файл и записать в него данные. В примере копируется ресурс из другого .exe-файла, но вы можете писать все, что захотите. В этом случае замените RT_DIALOG на RT_RCDATA и напишите данные изображения.

Using Resources

+0

Благодарим вас за предложение ресурсов! –

Смежные вопросы