配色与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 << "&lt;";
else if (c==' ') cout << "&nbsp;";
else if (c=='\t') cout << "&nbsp;&nbsp;&nbsp;&nbsp;";
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 << "&lt;";
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 << "&lt;";
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\">&nbsp;&nbsp;&nbsp;</font>" ;
}
else if (c=='<')
{
cout << "<strong><font color=\"red\">&lt;</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 << "&lt;";
else if (c==' ') cout << "&nbsp;";
else if (c=='\t') cout << "&nbsp;&nbsp;&nbsp;&nbsp;";
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 << "&lt;";
else if (c=='\n') cout << "<br>";
else if (c==' ') cout << "&nbsp;";
else if (c=='\t') cout << "&nbsp;&nbsp;&nbsp;&nbsp;";
else cout<<c;
}
cout << "</font></i><br>\n" ;
}
}
else if (c==' ')
{
cout << "<font color=\"red\">&nbsp;</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++的更多相关文章

  1. php 两段文本对比,不同的文字显示高亮

    php 两段文本对比,不同的文字显示高亮[下面这个只能区分错误后面的..]   <?php $str1 ="MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwgg ...

  2. 一段文字中的几个keyword显示高亮

    将一段文字中的几个keyword显示高亮 演示样例:将"我的愿望是当个绿巨人,所以我想让我的皮(derma)肤是绿色"中的"皮肤"显示绿色. <span ...

  3. 让kindeditor显示高亮代码

    kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: ...

  4. 新浪博客如何显示高亮代码,DIY

    新浪博客对代码的支持功能不尽完美,或者说一点都不好,可是对于一个追求完美的技术痴而言,代码不能够完美的显示,心里总有那么一些不爽,那么如何在新浪中显示那些带颜色的代码呢?经过探究,可以如下设置:   ...

  5. ueditor整合之后前段不显示高亮

    自己整合ueditor插件后,发现在前段显示的时候并没有高亮处理 在网上看了一些方法后,自己尝试了下. 1.在页面上引入相关的js和css文件 主要是以下两个文件 <script src=&qu ...

  6. vue和stylus在subline中显示高亮

    首先: 安装这两个插件   Vue Syntax Highlight    和    stylus 1.按住 ctrl + shift + p 2.输入:install Package 3.输入: V ...

  7. grep命令输出显示高亮字

    grep命令执行后,终端上输出显示颜色可以加"--color=auto"的参数. 另外的两个办法是: 1.设置环境变量: export GREP_OPTIONS="--c ...

  8. JS-字符串操作,查找显示高亮

    <!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content=&q ...

  9. sublime text下代码太长brackethighlighter不能正确显示闭合高亮的解决方法

    用brackethighlighter显示高亮一直都有这个问题...也没在网上找到解决方案,就一直凑合着用,今天翻着配置文件玩,改了参数发现问题解决了...... 修改search_threshold ...

随机推荐

  1. JS图片宽度自适应移动端

    $(function(){ $("#d-intro").find("img").each(function () {                $(this ...

  2. input函数以及while处理列表和字典

    一.函数input()的工作原理 .input()函数:获取输入的字符串 示例: message = input('请输入信息,方便电脑显示') print(message) print('您输入的信 ...

  3. 右击main 方法运行正常,启动tomcat 后,spring boot 项目 出现参数字符串是乱码的情况

    PrintWriter out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), "utf-8")) ...

  4. IIS7下配置web.config隐藏index.php

    <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.we ...

  5. CentOS 7安装Python 2.6(与已有版本共存)

    1. 安装需要用到的包 yum install -y zlib-devel bzip2-devel openssl-devel xz-libs wget 2. 下载 Python 2.6.8 版本 w ...

  6. gRPC go安装教程

    安装protobuf go get -u github.com/golang/protobuf/proto go get -u github.com/golang/protobuf/protoc-ge ...

  7. 服务性能指标:PV、UV、TPS、QPS

    名词解释 PV Page View,网页浏览量.网页被读者调用浏览的次数.网页每次打开或刷新一次页面,记录一次.用户对同一页面的多次访问,访问量累计. UV Unique Visitor,独立访问者. ...

  8. 又一Tab切换效果(js实现)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. mysqldump: [Warning] Using a password on the command line interface can be insecure.

    MySQL 5.6 警告信息 command line interface can be insecure 修复 在命令行输入密码,就会提示这些安全警告信息. Warning: Using a pas ...

  10. linux(centeros)svn的安装

    SVN linux搭建svn服务器参考:http://www.cnblogs.com/chaichuan/p/3758173.htmlSubversion(SVN) 是一个开源的版本控制系統, 也就是 ...