配色与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[150][40]={"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=64;
/*
theme:0:Highlight Word1:Normal Word2:Definding Word3:char,string Word4:Numbers5:Symbols6: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[40];while (cin>>c){l++;for (int i=0;i<40;i++)hl[l][i]=c[i];}freopen("CON","r",stdin);return;
}
int check(char p[],int pl)
{int tt=0;
/*  for (int i=0;i<pl;i++){if (!isdigit(p[i])){tt=1;break;}}if (!tt) return 2;*/for (int i=1;i<=l;i++){bool tmp=0;int q=strlen(hl[i]);if (q!=pl) continue;for (int j=0;j<pl;j++)if (hl[i][j]!=p[j]){tmp=1;break;}if (!tmp) return 1;}return 0;
}
int main()
{system("color 1F");char k[100];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[100],gl=0;while (scanf("%c",&c)!=EOF){//system("pause");if (((c>='A'&&c<='Z')||(c>='a'&&c<='z')||c=='_')||(c<='9'&&c>='0'&&gl!=0)){g[gl]=c;gl++;}else{if (c<='9'&&c>='0'&&gl==0)
//Numbers
            {cout << "<font color=\"purple\">";col(themePAS[4]); cout << c; cout << "</font>" ;continue;}if (gl!=0){
//Highlightif (check(g,gl)==1){cout << "<strong><font color=\"black\">";//  col(themePAS[0]);for(int i=0;i<gl;i++){cout<<g[i];}cout << "</font></strong>" ;}else
//Normal words
                {cout << "<font color=\"black\">";col(themePAS[1]);for(int i=0;i<gl;i++){cout<<g[i];}cout << "</font>" ;}}if (c=='#')
//Defining
            {cout << "<font color=\"green\">";col(themePAS[2]);cout << c;while (1){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[3]);cout << c;while(1){scanf("%c",&c);if (c=='\''){cout<<c;break;}else if (c=='<') cout << "&lt;";elseif (c=='\\'){cout << c;scanf("%c",&c);cout << c;}else cout<<c;}cout << "</font>" ;}else if (c=='\"')
//String
            {cout << "<strong><font color=\"blue\">";col(themePAS[3]);cout << c;while(1){scanf("%c",&c);if (c=='\"'){cout<<c;break;}else if (c=='<') cout << "&lt;";elseif (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=='/') {
//Notesscanf("%c",&c);if (c=='/'){cout << "<i><font color=\"#0099FF\">";cout << "//";while (1){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 (1){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>" ;}
//Symbolsif (c!='/'&&c!=' '&&c!='\''&&c!='\"'&&c!='#'&&c!='<'&&c!='\n')cout << "<strong><font color=\"red\">"<<c<<"</font></strong>";gl=0;}}cout << "</div>";fclose(stdout);system("out.htm");return 0;
}

转载于:https://www.cnblogs.com/dgklr/p/8473072.html

html显示高亮c++相关推荐

  1. 怎样在CSDN博客里插入代码块并且让代码有颜色,显示高亮?(只需要指定语言种类就好,附详细方法)

    用两种编辑器都可以,在最上面的(标题下面的)菜单选项里面,找到一对尖括号(如< >),然后就可以把你的代码复制过来,粘贴在里面了.然后,想要显示颜色的话,就在插入代码片的最前面(...之后 ...

  2. Android 仿支付宝搜索结果页,字符串部分文字显示高亮

    最近收到一个需求就是,搜索的关键词,在搜索结果页的搜索条目上高亮显示.类似于支付宝搜索结果页的效果. 先来看一下效果如下图: 经过一番思虑之后,感觉还是比较简单的,直接上代码 /*** 字符串高亮显示 ...

  3. Echarts使用一:在地图上将特定城市显示高亮

    最近项目要使用echarts进行数据可视化.主要用到中国和各省市地图,第一次用也是遇到了很多问题,在这里记录一下,方便以后回顾. 首先将第一个需求说一下,就是根据传入的一条数据在地图上将两个城市连线并 ...

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

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

  5. sourceinsight 语法不显示高亮 symble无法跳转 不解析

    使用sourceinsight时,不知道怎么回事就是语法不显示高亮,好像没有解析,点击symble,也不会跳转到定义处,折腾了几次不知道这个原因. 后来google下,原来是配置问题,如下图解决.不知 ...

  6. 在网页中显示高亮的代码块

    在VueCli项目中生成高亮且格式正确的代码块 以"highlight.js": "^10.7.1"插件为例 安装依赖:npm install highligh ...

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

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

  8. 商品列表选择尺寸和颜色高亮,并且把选择的数据传递到下一个页面

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 需求:商品列表选择属性,给中的属性显示高亮,并且把选择的数据记录下来传递到下一个页面. 项目下载地址:点击去下 ...

  9. linux终端显示被覆盖,图文说明:Linux监控命令全覆盖

    原文出处: 凌风的博客   欢迎分享原创到伯乐头条 1.1 top 1.1.1 命令说明 Top 命令能够实时监控系统的运行状态,并且可以按照cpu.内存和执行时间进行排序 1.1.2 参数说明 命令 ...

最新文章

  1. Javascript绘图
  2. 程序员/设计师能用上的 75 份速查表(转)
  3. Flex通用克隆(clone)方法
  4. asp.net定点执行任务总结
  5. java mysql 触发器 存储过程_mysql 触发器 存储过程 java调用
  6. .Net 如何模拟会话级别的信号量,对http接口调用频率进行限制(有demo)
  7. Jquery对复选框的操作
  8. python使用pdfminer解析页面内容,得到内容的详细坐标
  9. 哈啰出行赴美递交招股书:2020年营收60亿元 顺风车成新增长极
  10. Unity3D导出的EXE不用显示分辨率选择界面
  11. android kl文件
  12. Non-Local Image Dehazing 复现
  13. dubbo源码之SPI机制源码
  14. 通向AGI(通用人工智能)的另类书单
  15. 永中集成Office 2013 简体中文免费版
  16. 驱动人生6网卡版 v6.1.19.90 官方版
  17. 如何防止三分钟热度?给自己的目标定个阶段性奖励吧
  18. Swift游戏实战-跑酷熊猫 09 移除场景之外的平台
  19. 并行处理系统 计算机网络 分布式系统,分布式并行信号处理系统,Distributed parallel signal processing system,音标,读音,翻译,英文例句,英语词典...
  20. notability录音定位_请问如何在iPad上科学地使用good notes和notability?

热门文章

  1. 传值调用 与传地址调用(传引用)
  2. 生成树(STP)学习笔记
  3. flink写入iceberg(没有搞完)
  4. shuffle操作图解以及job-stage-task-partition区别
  5. xfce4桌面的标题栏都变成了透明的
  6. fatal error: opencv2/core/cvdef.h: 沒有此一檔案或目錄
  7. sublime unable to save 没有那个文件或者目录
  8. 消除ubuntu16.04自带的alt快捷键
  9. OpenGL 坐标变换
  10. 【机器学习】数据挖掘算法——关联规则(二),挖掘过程,Aprioir算法