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 ...
随机推荐
- tensorflow学习之搭建最简单的神经网络
这几天在B站看莫烦的视频,学习一波,给出视频地址:https://www.bilibili.com/video/av16001891/?p=22 先放出代码 #####搭建神经网络测试 def add ...
- java.lang.NoSuchMethodError: org.apache.spark.internal.Logging.$init$(Lorg/apache/spark/internal/Logging;)V
1.sparkML的版本不对应 请参考官网找到对于版本, 比如我的 spark2.3.3 spark MLlib 也是2.3.3
- Java基础语法—流程控制语句
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.所以,我们必须清楚每条语句的执行流程.而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能. 3.1 流程控制语句分类 ...
- linux最强编辑神器vim常用命令大全:编辑、插入、删除、替换、保存...
我说vim是编辑器之神大家没有意见吧 下面分享一些vim常用命令,大家可以收藏一下 进入vim: vim配置: vim中光标移动: vim中屏幕滚动: vim中插入文本类: 文本替换: 格式 : 范 ...
- MyEclipse img显示问题
MyEclipse第一个例子,通过HTML的img显示图片,费两天的功夫,故作简单整理,图片2不显示根本原因还是src的路径不对. 选中project中的sr.jpg文件,运行查看浏览器显示的地址,此 ...
- Redis在Windows环境配置多实例多端口运行
Redis是一种跨平台NoSql内存数据库,这几年各大公司系统应用中非常多见,支持多种数据类型,可以持久化保存数据,很多公司直接拿来作为数据库使用. 相比于Memcached,Redis支持持久化保存 ...
- Java编程思想学习录(连载之:内部类)
内部类基本概念 可将一个类的定义置于另一个类定义的内部 内部类允许将逻辑相关的类组织在一起,并控制位于内部的类的可见性 甚至可将内部类定义于一个方法或者任意作用域内! 当然,内部类 ≠ 组合 内部类拥 ...
- 最大连续和 Easy
Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. F ...
- HNUSTOJ 1601:名字缩写
1601: 名字缩写 时间限制: 1 Sec 内存限制: 128 MB 提交: 288 解决: 80 [提交][状态][讨论版] 题目描述 Noname老师有一个班的学生名字要写,但是他太懒了,想 ...
- kotlin学习(10)反射
反射,简单来说,是一种在运行时动态地访问对象属性和方法的方式,而不需要事先确定这些属性是什么. Kotlin反射API:KClass.KCallable.KFunction.KPropperty KC ...