C++编程入门——生成HTML网页
如果你认真阅读《C++编程,响应用户输入》、《C++编程入门——实现猜数字游戏》了这两篇文章,并且认真的一行一行敲了代码,那你已经掌握了标准输入输出流的常见使用方法。本篇文章将在前两篇文章的基础上做一点有实际用途的程序——生成HTML网页。很久以前做过一个项目,用程序加载XML里面的数据,用这些数据生成HTML静态页,放到Web服务器上就可以被用户访问了,这样可以节约服务器的算力,增加服务器并发数。
作为入门教程肯定不能弄得太复杂,所以本篇文章将进行简化,简化到初学者也能完成的程度。
准备工程
在VS中使用文件菜单创建控制台应用工程,工程名为“HtmlGenerator”。


创建完成后是这样的:

输入代码
把HtmlGenerator.cpp的内容改成下面这个样子,依然推荐手打,不要复制粘贴~~
#include <iostream>
int main()
{
const char* pageTitle = "C++简介";
const char* p0 =
"C++(c plus plus)是一种计算机高级程序设计语言,"
"由C语言扩展升级而产生 [17],最早于1979年由"
"本贾尼·斯特劳斯特卢普在AT&T贝尔工作室研发。";
const char* p1 =
"C++既可以进行C语言的过程化程序设计,又可以进行以"
"抽象数据类型为特点的基于对象的程序设计,还可以进"
"行以继承和多态为特点的面向对象的程序设计。C++擅长"
"面向对象程序设计的同时,还可以进行基于过程的程序设"
"计。 C++几乎可以创建任何类型的程序:游戏、设备驱动"
"程序、HPC、云、桌面、嵌入式和移动应用等。 甚至用于"
"其他编程语言的库和编译器也使用C++编写。";
std::cout
<< "<html>\n"
<< "<header>\n"
<< "<title>" << pageTitle << "</title>\n"
<< "</header>\n"
<< "<body>\n"
<< "<h1>" << pageTitle << "</h1>\n"
<< "<p>" << p0 << "</p0>\n"
<< "<p>" << p1 << "</p0>\n"
<< "</body>\n"
<< "</html>";
}
运行程序
按“F5”或通过菜单“调试->开始调试”启动程序,程序会把生成的HTML代码输出到控制台,如下图:

保存HTML文件
把生成的HTML代码复制出来,保存成HTML文件就可以了。复制代码的方法:
- 选中全部HTML代码
- 左键点击控制台窗口左上角的图标
- 在弹出的菜单中点击复制
参考下面的动图:

保存成HTML格式的方法:
- 打开记事本程序
- 把刚才复制的HTML代码粘贴进去
- 用文件菜单保存成1.html
参考下面的动图:

查看网页
经过上面的步骤,就得到了1.html这个文件,双击打开1.html就能看到效果了。

涨知识
字符串
代码第5行声明了变量“pageTitle”,并把它的值初始化成了一个字符串常量。当需要把一个字符串常量赋值给变量时,不能写成“char* pageTitle = "abcd123"”,而应该用const关键字对变量进行修饰,表示这是一个常量。
类型名“char*”中的星号表示声明的是一个指针。整个第5行的意思是:声明一个名为"pageTitle"的字符串指针,并让它指向保存“C++简介”这行字符的内存区域。实质上pageTitle变量保存的是内存区域的起始地址,而并不是“C++简介”这行文字。“C++简介”这行文字保存在内存中,具体是内存中的哪个位置是由操作系统决定的,程序开始运行之前都不知道具体的保存位置。
其实所有的指针保存的都是内存地址,即“指针 = 内存地址”。
程序第6行的字符串太长,所以在代码中分成了3段,写成了3行。这种写法在C++中是允许的,长字符串分段书写的方法是"字符串1"+分隔+“字符串2”。其中分隔可以省略,如果不省略则只能是空白字符,不能是“abc123”等可见字符。
更多推荐



所有评论(0)