2017-01-06 2 views
0

Ich versuche, Dateien mit cmake verketten und ein Nullzeichen (\0) am Ende der Ausgabedatei anhängen. Kann jemand am Ende Null anhängen? Der Code für concat ist:anhängen Nullzeichen am Ende der Datei mit 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() 

anhängen '\0' am Ende ich folgende Ansätze versucht haben:

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

aber keine dieser drei Arbeiten. Kann mir hier jemand helfen?

+0

Haben Sie die letzte Datei als mit dem Text haben wollen, wie es in den Eingabedateien oder in HEX zu sehen ist (zB die letzte Datei: 6369616f2c20736f6e6f0a73692c73690a7365636f6e646f2c206a6a6a6a0a6563636f6c6f20696c207365636f6e646f0a00)? Wenn Sie es als Text wünschen, warum möchten Sie das Nullzeichen am Ende anhängen? Wenn du in HEX willst, ist das eine andere Geschichte. – fedepad

+0

Haben Sie 'file (APPEND $ {out_file}" \ 0 ")' 'versucht? – wasthishelpful

+0

@washishilful: ja. Es funktioniert auch nicht. – tejas

Antwort

0

Könnten Sie Folgendes versuchen, anstatt was Sie haben?

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() 

Dies sollte ein Null-Byte am Ende der generierten Hex-Zeichenfolge anhängen. Dann weiß ich nicht, wie ich von dort aus gehen soll.
Es gibt einige Arbeiten in dieser Richtung, aber ich kenne keine anderen Beispiele. Ich denke, beide die verknüpften Beispiele nützlich sein können, um Ihren Fall zu lösen:

binary_to_hex
embed_binary_files

+0

nein. Es hat nicht funktioniert. – tejas

+0

danke für die Meldung! Hast du die Links gelesen, die ich zur Verfügung gestellt habe? Vielleicht können Sie sich von ihnen inspirieren lassen ... – fedepad

+0

Leider habe ich die Links noch nicht überprüft. Werde diese überprüfen und zurückmelden. Vielen Dank. – tejas

Verwandte Themen