我正在創建一個簡單的程序,用戶將能夠編輯程序創建的.txt文件,然後程序應該將該文件保存爲.html文檔。我不想使用任何庫。C++ - 使用fstream將txt保存爲html
創建.txt文件:
std::ofstream file("save.txt");
我應該怎麼做,而不使用任何unneccesary擴展?
我正在創建一個簡單的程序,用戶將能夠編輯程序創建的.txt文件,然後程序應該將該文件保存爲.html文檔。我不想使用任何庫。C++ - 使用fstream將txt保存爲html
創建.txt文件:
std::ofstream file("save.txt");
我應該怎麼做,而不使用任何unneccesary擴展?
如果你有足夠新的編譯器:
std::ofstream("save.html") << std::ifstream("save.txt");
如果你有一箇舊的編譯器:
std::ifstream in("save.txt");
std::ofstream out("save.html");
out << in;
然而,這使得文件的全面和完整的精確副本用不同的名稱。我真的建議使用操作系統特定的函數調用來簡單地重命名文件,或者更好的是讓用戶直接將他們的數據輸入到html文件中。
所以如果我要讓用戶直接輸入數據到html文件,這和我將數據輸入到txt文件中一樣? – 2013-02-12 21:41:43
@HenrikSöderlund:如果他們正在以HTML格式將數據輸入到txt文件中,那麼是的。如果他們沒有在文本文件中輸入html數據,那麼你必須告訴我們文本文件中有什麼要回答這個問題。我從來沒有聽說過使用txt文件中間步驟進行網頁開發。 – 2013-02-12 21:44:45
將純文本轉換爲HTML有三個注意事項。用戶已經修改了純文本字符串後:
<br/>
)全部替換換行符(\n
,\r
和\n\r
)。您可以使用標準庫string replace方法來執行此操作。<!DOCTYPE html><html><head><title> -- TITLE GOES HERE -- </title><body> -- TEXT GOES HERE -- </body></html>
。.html
而不是.txt
即可。哦,將原始文本轉換爲html?這是我沒有發生的一種解釋。我們必須從用戶那裏獲得更多的細節。 – 2013-02-12 21:45:55
.txt文件和.html文件之間的唯一區別是文件擴展名,.html文件使用比.txt文件更嚴格的單詞子集。那麼,你期望會發生什麼? – 2013-02-12 21:16:13
我完全不理解你的問題。聽起來你所有的程序需要做的就是將擴展名從'.txt'改爲'.html'。 – 2013-02-12 21:16:13
謝謝,Mooing Duck。做出答案,我會標記它。 – 2013-02-12 21:29:20