我正在创建一个简单的程序,用户将能够编辑程序创建的 .txt 文件,然后程序应该将该文件保存为 .html 文档。我不想使用任何库。
创建 .txt 文件:
std::ofstream file("save.txt");
我应该如何在不使用任何不必要的扩展的情况下做到这一点?
如果您有足够新的编译器:
std::ofstream("save.html") << std::ifstream("save.txt");
如果您有较旧的编译器:
std::ifstream in("save.txt");
std::ofstream out("save.html");
out << in;
但是,这会生成具有不同名称的文件的完整且完全精确的副本。我真的建议使用特定于操作系统的函数调用来简单地重命名文件,或者更好的是,让用户直接将他们的数据输入到 html 文件中。
将纯文本转换为 HTML 有三个注意事项。用户修改纯文本字符串后:
\n
、\r
和\n\r
)替换为 HTML 换行符元素(<br/>
)。您可以使用标准库字符串替换方法来执行此操作。<!DOCTYPE html><html><head><title> -- TITLE GOES HERE -- </title><body> -- TEXT GOES HERE -- </body></html>
..html
而不是.txt
.