同江佳木斯网站制作,网站开发工程师的证件,网页导航条制作教程,宝塔怎么创建网站1、html特殊字符的显示我们知道html语言和C语言一样也有一些特殊字符#xff0c;它们是不能正常显示的#xff0c;必须经过转义#xff0c;在网上可以查到如何显示这些字符#xff0c;如下图所示#xff1a;上图给了最常用的特殊字符的显示#xff0c;下面我们来实验一下…1、html特殊字符的显示我们知道html语言和C语言一样也有一些特殊字符它们是不能正常显示的必须经过转义在网上可以查到如何显示这些字符如下图所示上图给了最常用的特殊字符的显示下面我们来实验一下首先在记事本中写入一句font colorblue程序例font#includestdio.h然后就文本后缀名改为.html后用浏览器打开显示如下我们从上图可以发现include后面没有显示但是当我们在文本中写入font colorblue程序例font#includestdio.h或font colorblue程序例font#includestdio.h时就能正常显示了。显示结果如下图我们知道Qt能够支持html语言但是我在编写可以查询c语言函数(肯定有#include后面的特殊字符的显示问题)的时候发现使用上面的方法仍然不能显示特殊字符后来灵机一动就决定 用全角来代替半角 。这样就不会当成是特殊字符了就可以正常显示了。半角和全角的转换只需要点击下图中的第3个按钮虽然说使用全角后看起来不是很协调但还看得过去如果读者有什么好的方法请不吝赐教。2、正则表达式接着上面的问题继续说比如我有一个C语言函数词典库我取其中一段来举例font colorblue程序例font:br#include span stylecolor:#ff0000;/spanstdio.h span stylecolor:#ff0000;spanbr#include span stylecolor:#ff0000;/span stdlib.h span stylecolor:#ff0000;spanbrint main(void)br因为我们需要将上述半角的转换为全角的并且 只是替换处于头文件的半角 即字符串中为红色的部分 。当然当文件比较小的时候可以手动查找替换但是由于词典一半都有十几M这时就必须使用正则表达式了。在Qt中使用了QRegExp来支持正则表达式。关于正则表达式的语法网上都有很多教程我就不细说了。从上面的实例字符串的内容我们知道包含了几个头文件所以我们在匹配时要分别匹配各个头文件两边的半角 即我们要使用非贪婪模式否则就会从第一个头文件的。我们知道在正则表达式中非贪婪模式是由?来指定的但是对于QRegExp类来说是不合法的。 在QRegExp中要使用setMinimal函数来指定贪婪模式 。 setMinimal(true)就是非贪婪模式setMinimal(false)就是贪婪模式。通过上面两部分的讲解就可以完成C语言函数库词典的显示了。下面通过代码实现新建QtGui应用程序选择基类为QWidget其中只需要修改widget.cpp里的内容即可(需要在widget.ui界面中添加两个label,分别命名为label和label1)。widget.cpp文件#include widget.h#include ui_widget.h#includeQString#includeQRegExp#includeQDebug#includeQLabelWidget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget){ui-setupUi(this);QString strfont colorblue程序例font:br#include stdio.h br#include stdlib.h brint main(void)br;ui-label-setText(str); //由于Qt也能识别html格式而 是html的特殊字符因此不处理的话就会出现显示出错QRegExp rx(#include ((.*.h )));//正则表达式里的括号是为了获取匹配的内容rx.setMinimal(true);//非贪婪模式int pos0;//从字符串的开始部分for(int i0;istr.size();i) {posrx.indexIn(str,0);//得到匹配字符串的位置while(pos!-1)//匹配成功{str.replace(rx.cap(1),rx.cap(2));//这里是进行替换如果不明白rx.cap是什么可以qDebug显示内容posrx.indexIn(str,posrx.matchedLength());//从当前位置继续往后进行匹配}}ui-label1-setText(str);}Widget::~Widget(){delete ui;}程序运行结果如下下面放一张查单词软件用到的特殊字符显示和使用正则表达式后的截图