2017-01-06 111 views
0

我想使用cmake連接文件並在輸出文件的末尾添加空字符(\0)。有誰知道最後如何追加null? 爲CONCAT的代碼是:在使用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

你試過'file(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

相關問題