2017-01-06 11 views
0

Я пытаюсь объединить файлы с помощью cmake и добавить нулевой символ (\0) в конец выходного файла. Кто-нибудь знает, как добавить нуль в конце? Код для CONCAT является:append null character в конце файла с помощью cmake

function(cat in_file1 in_file2 out_file) 
    file(READ ${in_file1} CONTENTS) 
    file(WRITE ${out_file} "${CONTENTS}") 
    file(READ ${in_file2} CONTENTS) 
    file(APPEND ${out_file} "${CONTENTS}") 
endfunction() 

Чтобы добавить '\0' в конце я попытался следующие подходы:

file(APPEND ${out_file} NULL) 
file(APPEND ${out_file} "\\0") 
file(APPEND ${out_file} "\0" HEX) 

Но ни один из этих 3 работы. Может ли кто-нибудь помочь здесь?

+0

Хотите ли вы иметь окончательный файл как с текстом, как это видно во входных файлах или в HEX (например, окончательный файл: 6369616f2c20736f6e6f0a73692c73690a7365636f6e646f2c206a6a6a6a0a6563636f6c6f20696c207365636f6e646f0a00)? Если вы хотите его как текст, почему вы хотите добавить нулевой символ в конце? Если вы хотите в HEX, это еще одна история. – fedepad

+0

Пробовал ли файл '(APPEND $ {out_file}" \ 0 ")'? – wasthishelpful

+0

@wasthishelpful: да. Это тоже не работает. – tejas

ответ

0

Не могли бы вы попробовать следующее вместо того, что у вас есть?

function(cat in_file1 in_file2 out_file) 
     file(READ ${in_file1} CONTENTS HEX) 
     file(WRITE ${out_file} "${CONTENTS}") 
     file(READ ${in_file2} CONTENTS HEX) 
     file(APPEND ${out_file} "${CONTENTS}00") 
endfunction() 

Это должно добавить нулевой байт в конце сгенерированной шестнадцатеричной строки. Тогда я не знаю, как идти оттуда.
В этом направлении есть некоторая работа, но я не знаю других примеров. Я думаю, что оба связаны примеры могут быть полезны для решения Вашего дела:

binary_to_hex
embed_binary_files

+0

№. Это не сработало. – tejas

+0

спасибо за сообщение об этом! Вы проверили ссылки, которые я предоставил? Возможно, вы можете получить от них некоторое вдохновение. – fedepad

+0

К сожалению, я еще не проверял ссылки. Будет проверять их и отчитываться. Благодарю. – tejas

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

  • Нет связанных вопросов^_^