html显示高亮c++
配色与Devc++ 的classic plus 相同
输入文件名即可,输出在out.htm中
#include<bits/stdc++.h>
#include<windows.h>
#define chek(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
#define col(co) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),co)
#define br BACKGROUND_RED
#define bg BACKGROUND_GREEN
#define bb BACKGROUND_BLUE
#define bi BACKGROUND_INTENSITY
#define fr FOREGROUND_RED
#define fg FOREGROUND_GREEN
#define fb FOREGROUND_BLUE
#define fi FOREGROUND_INTENSITY
using namespace std;
char hl[][]={"asm","do","if","return","typedef","auto","double",
"inline","short","typeid","bool","dynamic_cast","int",
"signed","typename","break","else","long","sizeof",
"union","case","enum","mutable","static","unsigned",
"catch","explicit","namespace","static_cast","using",
"char","export","new","struct","virtual","class",
"extern","operator","switch","void","const","false",
"private","template","volatile","const_cast","float",
"protected","this","wchar_t","continue","for","public",
"throw","while","default","friend","register","true",
"delete","goto","reinterpret_cast","try","in"};
int l=;
/*
theme:
0:Highlight Word
1:Normal Word
2:Definding Word
3:char,string Word
4:Numbers
5:Symbols
6:Notes
*/
int themePAS[]={bb+fr+fg+fb+fi,
bb+fg+fr+fi,
bb+fg+fi,
bb+fg+fb+fi,
bb+fg+fb+fi,
bb+fr+fi,bb+fi};
void init()
{
freopen("cppword.hl","r",stdin);
char c[];
while (cin>>c)
{
l++;
for (int i=;i<;i++)
hl[l][i]=c[i];
}
freopen("CON","r",stdin);
return;
}
int check(char p[],int pl)
{
int tt=;
/* for (int i=0;i<pl;i++)
{
if (!isdigit(p[i]))
{
tt=1;
break;
}
}
if (!tt) return 2;*/
for (int i=;i<=l;i++)
{
bool tmp=;
int q=strlen(hl[i]);
if (q!=pl) continue;
for (int j=;j<pl;j++)
if (hl[i][j]!=p[j])
{
tmp=;
break;
}
if (!tmp) return ;
}
return ;
}
int main()
{
system("color 1F");
char k[];
cout << "请输入文件名:";
cin>>k;
// init();
freopen(k,"r",stdin);
freopen("out.htm","w",stdout);
cout << "<div style=\"background-color:white;font-family:courier\">";
char c;
char g[],gl=;
while (scanf("%c",&c)!=EOF)
{
//system("pause");
if (((c>='A'&&c<='Z')||(c>='a'&&c<='z')||c=='_')||(c<=''&&c>=''&&gl!=))
{
g[gl]=c;
gl++;
}
else
{
if (c<=''&&c>=''&&gl==)
//////////////////////////////////////////////////////////////////////////////////Numbers
{
cout << "<font color=\"purple\">";
col(themePAS[]); cout << c;
cout << "</font>" ;
continue;
}
if (gl!=)
{
//////////////////////////////////////////////////////////////////////////////////Highlight
if (check(g,gl)==)
{
cout << "<strong><font color=\"black\">";
// col(themePAS[0]);
for(int i=;i<gl;i++)
{
cout<<g[i];
}
cout << "</font></strong>" ;
}
else
//////////////////////////////////////////////////////////////////////////////////Normal words
{
cout << "<font color=\"black\">";
col(themePAS[]);
for(int i=;i<gl;i++)
{
cout<<g[i];
}
cout << "</font>" ;
}
}
if (c=='#')
//////////////////////////////////////////////////////////////////////////////////Defining
{
cout << "<font color=\"green\">";
col(themePAS[]);
cout << c;
while ()
{
scanf("%c",&c);
if (c=='\n') break;
else if (c=='<') cout << "<";
else if (c==' ') cout << " ";
else if (c=='\t') cout << " ";
else cout<<c;
}
cout << "</font> <br>";
}
else if (c=='\'')
//////////////////////////////////////////////////////////////////////////////////char
{
cout << "<font color=\"black\">";
col(themePAS[]);
cout << c;
while()
{
scanf("%c",&c);
if (c=='\'')
{
cout<<c;
break;
}
else if (c=='<') cout << "<";
else
if (c=='\\')
{
cout << c;
scanf("%c",&c);
cout << c;
}
else cout<<c;
}
cout << "</font>" ;
}
else if (c=='\"')
//////////////////////////////////////////////////////////////////////////////////String
{
cout << "<strong><font color=\"blue\">";
col(themePAS[]);
cout << c;
while()
{
scanf("%c",&c);
if (c=='\"')
{
cout<<c;
break;
}
else if (c=='<') cout << "<";
else
if (c=='\\')
{
cout << c;
scanf("%c",&c);
cout << c;
}
else cout<<c;
}
cout << "</font></strong>" ;
}
else if (c=='\n')
{
cout << "<br>\n" ;
}
else if (c=='\t')
{
cout << "<font color=\"red\"> </font>" ;
}
else if (c=='<')
{
cout << "<strong><font color=\"red\"><</font></strong>" ;
}
else if (c=='/')
{
//////////////////////////////////////////////////////////////////////////////////Notes
scanf("%c",&c);
if (c=='/')
{
cout << "<i><font color=\"#0099FF\">";
cout << "//";
while ()
{
scanf("%c",&c);
if (c=='\n') break;
else if (c=='<') cout << "<";
else if (c==' ') cout << " ";
else if (c=='\t') cout << " ";
else cout<<c;
}
cout << "</font></i><br>\n" ;
}
else if (c=='*')
{
cout << "<i><font color=\"#0099FF\">";
cout << "/*";
while ()
{
scanf("%c",&c);
if (c=='*')
{
cout << c;
scanf("%c",&c);
if (c=='/')
{
cout << c;
break;
}
}
else if (c=='<') cout << "<";
else if (c=='\n') cout << "<br>";
else if (c==' ') cout << " ";
else if (c=='\t') cout << " ";
else cout<<c;
}
cout << "</font></i><br>\n" ;
}
}
else if (c==' ')
{
cout << "<font color=\"red\"> </font>" ;
}
//////////////////////////////////////////////////////////////////////////////////Symbols
if (c!='/'&&c!=' '&&c!='\''&&c!='\"'&&c!='#'&&c!='<'&&c!='\n')
cout << "<strong><font color=\"red\">"<<c<<"</font></strong>";
gl=;
}
}
cout << "</div>";
fclose(stdout);
system("out.htm");
return ;
}


html显示高亮c++的更多相关文章
- php 两段文本对比,不同的文字显示高亮
php 两段文本对比,不同的文字显示高亮[下面这个只能区分错误后面的..] <?php $str1 ="MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwgg ...
- 一段文字中的几个keyword显示高亮
将一段文字中的几个keyword显示高亮 演示样例:将"我的愿望是当个绿巨人,所以我想让我的皮(derma)肤是绿色"中的"皮肤"显示绿色. <span ...
- 让kindeditor显示高亮代码
kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: ...
- 新浪博客如何显示高亮代码,DIY
新浪博客对代码的支持功能不尽完美,或者说一点都不好,可是对于一个追求完美的技术痴而言,代码不能够完美的显示,心里总有那么一些不爽,那么如何在新浪中显示那些带颜色的代码呢?经过探究,可以如下设置: ...
- ueditor整合之后前段不显示高亮
自己整合ueditor插件后,发现在前段显示的时候并没有高亮处理 在网上看了一些方法后,自己尝试了下. 1.在页面上引入相关的js和css文件 主要是以下两个文件 <script src=&qu ...
- vue和stylus在subline中显示高亮
首先: 安装这两个插件 Vue Syntax Highlight 和 stylus 1.按住 ctrl + shift + p 2.输入:install Package 3.输入: V ...
- grep命令输出显示高亮字
grep命令执行后,终端上输出显示颜色可以加"--color=auto"的参数. 另外的两个办法是: 1.设置环境变量: export GREP_OPTIONS="--c ...
- JS-字符串操作,查找显示高亮
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content=&q ...
- sublime text下代码太长brackethighlighter不能正确显示闭合高亮的解决方法
用brackethighlighter显示高亮一直都有这个问题...也没在网上找到解决方案,就一直凑合着用,今天翻着配置文件玩,改了参数发现问题解决了...... 修改search_threshold ...
随机推荐
- 应用安全 - 工具 - 浏览器 - IE浏览器 - 漏洞汇总
CVE-2014-6332 Date 2014.11 CVE-2016-0189 | MS16-051 Date 2016年初 CVE-2018-8174
- Linux 后台执行python或者java代码的命令
1.nohup 命令操作后台执行程序 后台启动 nohup python app.py params1 > nohup.out >& & 查看后台进程启动 jobs -l ...
- linux 正则表达式 使用grep命令
最常应用正则表达式命令是 awk sed grep [root@MongoDB ~]# cat mike.log I am mike! I like linux. I like play footba ...
- Linux 系统多台主机之间做SSH免密码登陆
SSH 免密登录 环境说明 CentOS 7.3 关键点 免密登录的关键点在于理解谁登录谁. A 生成的公钥给 B,也给 C.D,则 A 可以直接免密 SSH 登录 B.C.D A 生成密钥 在 A ...
- 006 Notepad++ 运行 C/C++
目录 0. 前言 1. 准备 2. 开工 setp 1 step 2 step 3 step 4 step 5 step 6 3. 修改与删除 3.1修改名称.快捷键 3.2 删除 4. 运行 5. ...
- Java - Java Mail邮件开发(3)spring +Java Mail + Velocity
1.spring + Java Mail + Velocity 项目结构: 注意:用户包中引入各包的顺序问题.如velocity-2.1. beans.xml <?xml version=&qu ...
- CentOS7中MySQL跨机器数据迁移
1.概况 在CentOS7环境下,使用命令方式将MySQL数据从源端主机迁移到目标端主机上. 2.迁移全部数据库 1)源端备份: [root@hadoop102 /]# mysqldump -u ro ...
- [多校联考2019(Round 5 T2)]蓝精灵的请求(二分图染色+背包)
[多校联考2019(Round 5)]蓝精灵的请求(二分图染色+背包) 题面 在山的那边海的那边住着 n 个蓝精灵,这 n 个蓝精灵之间有 m 对好友关系,现在蓝精灵们想要玩一个团队竞技游戏,需要分为 ...
- 剑指offer-二叉搜索树的第k个结点树-python
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值: 若它的 ...
- django学习笔记(四)
1.请求周期 url> 路由 > 函数或类 > 返回字符串或者模板语言? Form表单提交: 提交 -> url > 函数或类中的方法 - .... HttpRespon ...