2013-01-18 22 views
0

我有我自己的命令行程序,我正在終端上運行。我該如何將這個程序的輸出重定向到文件,以便我可以看到它的十六進制表示?我也希望程序輸出的控制字符保存爲十六進制。將stdout保存爲十六進制文件

UPDATE

我的程序還接收經由STD輸入端子上的命令。看來這樣做的:

myprogram 9889> output.txt的

甚至

myprogram 9889 | xxd

以某種方式破壞程序,使我看起來不能讓程序響應輸入的命令。

+2

爲什麼你需要保存它?只需追加'| xxd'。 – choroba

回答

1
program > file.txt 

這將在program所有STDOUT重定向到file.txt

如果您想了解更多關於redirection,讀me

1

你沒有提到你正在使用的操作系統。在Linux中你可以使用hexdump

your_console_app | hexdump -C 
+0

這個問題被標記爲'linux' – Cyclonecode

0

不要這樣做。

最好將保存爲,即保存程序輸出的確切字節。

然後,當你想要顯示的數據時,將其視爲十六進制數據。

$ program >output.txt 
$ hexdump -C output.txt 

這使用在Linux中常見的hexdump程序。你應該擁有它。

+0

當我嘗試這個時,只有我的程序的啓動橫幅被存儲到文件。當我開始在stdin上輸入數據時(啓動後),十六進制日誌中沒有響應。 – Baz

+0

請在上面看到我更新的評論。 – Baz

相關問題