我正在创建一个简单的程序,用户将能够编辑程序创建的.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