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 ...
随机推荐
- 【HANA系列】SAP HANA Studio使用insufficient privilege 问题
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA Studio使 ...
- 【MM系列】 MM60增强
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列] MM60增强 前言部分 大家可 ...
- Linux setup
Install centos 7: Config Network a config example in /etc/sysconfig/network-scripts/ifcfg-ens160 TYP ...
- 【Linux开发】如何在./configure的时候将编译参数传入,改变默认的编译器gcc成arm-linux-gcc
如何在configure时,将编译参数传入,改变默认的编译器gcc成arm-linux-gcc [问题] 想要用交叉编译工具arm-linux-gcc去编译lrzsz, 但是在./configure的 ...
- python函数-内置函数
官方文档[http://www.cnblogs.com/dingkailinux/p/7954484.html] 1.int()函数,表示整形,如 1,2,-1,-2. 2.float()函数,表示浮 ...
- 惠普IPMI登陆不上
[问题描述] IPMI登陆不上(HP),点击无反应. 浏览器使用IE,java版本使用32位1.7版本. [问题原因] 保护此网站的证书使用弱加密,即 SHA1.此网站应该在 SHA1 被禁用之前将该 ...
- SecureCRT Linux系统ssh连接终端最常用快捷键
CecureCRT连接工具常用快捷键总结: 查看 Alt + Enter 全屏 菜单 Alt + f + n 克隆会话窗口 Alt + c 在新窗口中连接,连接窗口中勾选open in a tab可以 ...
- P1141零一迷宫
这是一道对于除了我之外其他人都十分简单的搜索题,我终于在这个夜里搞会了. 首先其问可以到达多少个点,并不是走一次可以最多经过几个点,这就解释了为什么不需要回溯,并且递归边界则是让其全部走完即可.于是便 ...
- 6.css3定位--position
⑴Static默认值,没有定位. ⑵Absolute绝对定位.后面的元素会补上原来偏移的位置. ⑶Relative相对定位.后面的元素不会补上原来偏移的位置. ⑷Fixed绝对定位.相对于浏览器窗口固 ...
- css发展过程
https://www.cnblogs.com/dashnowords/p/9460722.html