2013-07-03 27 views
0

這是我的第一個項目,我想教給自己,所以請多多包涵,不要假設我的編程知識什麼。從.txt導入並轉換爲十六進制,然後出口,反之亦然C++

我想要做的是創建一個控制檯程序,在此實例中將文件Text.txt讀取,將其轉換爲十六進制的ASCII碼,然後用十六進制代碼覆蓋Text.txt文件,然後如果再次運行,將會逆轉該過程。

有沒有辦法做到這一點命令的基礎上,使我必須輸入一些東西,可以說「開始」進入控制檯之前,它實際上將初始化這個過程?最重要的是,請保持控制檯處於打開狀態,以便我可以輸入「開始」(或另一個詞,如果這是不可能的),並讓它恢復過程?

我現在有這個上漲到年底保持程序打開,但我怎麼會做什麼,我希望上述做的時候使用它呢?還是有更好的方法? [code] std :: string in;

while ((std::cin >> in) && (in != "exit")) 
{ 
} 
return 0; 
} 

我知道我需要爲進口和出口使用fstream的,但我不知道該怎麼做,但不關閉一切,它已經完成或如何配合它,使之轉換爲十六進制後立即/ ASCII第一。

感謝您的任何幫助或提示,你可以給。

編輯:對不起,我的問題是:

什麼是轉在TEXT.TXT ASCII文件爲十六進制,然後出口它的基本過程? 我對fstream概念本身有一個基本的理解,但我並不確定如何將其與文本轉換一起實現,而且我不知道從哪裏開始準確地將文本轉換爲十六進制。

+0

爲什麼不使用'hexdump'? –

+1

@Kerrek因爲這不會教OP如何編碼。 – feralin

+1

這裏有什麼問題 - 如何從文件中讀取?如何將數字格式設置爲十六進制?如何編寫終端用戶界面?如何使用'readline'?我認爲你應該更好地關注這個問題...... –

回答

0

你有幾個問題捆綁在這裏,我想你可能只是不知所措。

  1. 有沒有辦法做到這一點命令的基礎上,讓我必須輸入一些東西做什麼,我希望上述辦時
  2. 我將如何使用它?
  3. ,但我不知道怎麼做纔不至於之後,它已經完成
  4. 如何配合它,使之先轉換成十六進制/ ASCII立即關閉一切。

開始通過分解成問題的部分,並且實現每個,一次一個。第一:文件I/O - 創建一個從文件讀取的函數(或更好的是:一個類)。

Next:添加一個函數或方法,將ASCII值轉換爲十六進制。

下一步:添加實現終端控制功能/ curses /等的類或函數。

分開這些,他們會從SO更容易設計,易於測試,也更容易得到幫助。

+0

你說的很對,我覺得我只是咬了一口氣,然後把它分開,然後分開查找問題,我能夠獲得大部分的我的問題的答案。謝謝。 –

相關問題