2017-01-06 80 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

相关问题