[源码和文档分享]基于C语言的语法高亮设计与实现

一 需求分析

在所需高亮的关键字或字符串前后加上class标签,在css定义颜色。

二 程序设计

2.1 设计思路

把.html文件和.css文件中的内容存在两个字符数组中,在.cpp用文件操作写入。

2.2 文件组织架构

  • Syntax highlighting.exe所在目录为根目录

  • 源代码命名:Syntax highlighting.cpp

  • 文件操作函数头文件:openfile.h

  • 包涵变量的头文件:global var.h

2.3 高亮颜色设计

1.关键字及其他

颜色码:#66d9ef

以此种颜色表示的字符串(49个):

“asm”,”auto”,”char”,”bool”,”catch”,”class”,”delete”,”const”,”cdecl”,”double”,”enum”,”extern”,”float”,”far”,”huge”,”near”,”interrupt”,”int”,”long”,”pascal”,”register”,”short”,”signed”,”static”,”signed”,”struct”,”typedef”,”union”,”unsigned”,”void”,”volatile”,”sprintf”,”puts”,”gets”,”scanf”,”printf”,”fputs”,”fputc”,”fgets”,”fgetc”,”memset”,”strlen”,”sizeof”,”strstr”,”fclose”,”FILE”,”malloc”,”fopen”,”system”。

2.底色

颜色码:#272822

3.循环相关的关键字及其他

颜色码:#f92672

以此种颜色表示的字符串(24个):

“if”,”else”,”do”,”while”,”for”,”break”,”continue”,”default”,”goto”,”case”,”switch”,”#define”,”#error”,”#include”,”#elif”,”#if”,”#else”,”#endif”,”#ifdef”,”#ifndef”,”#undef”,”#line”,”#pragma”,”return”。


参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1354.html

转载于:https://www.cnblogs.com/ddgg5151/p/10091512.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我愿为这二极管奉献我的一生

简 介: 利用二极管完成对信号的整流,求取绝对值等具有很多的应用。然而在小信号下,二极管的前向导通电压以及相应的杂散电容会对信号整流带来严重的影响。本文从“马场清太郎”所著的“运算放大器应用电路设计”中摘取了一些典型应用电路&…

【毕业设计】履带四足复合机器人

1.项目简介本项目中,履足式复合机器人拥有两种行进模式:四足行进模式、履带行进模式,应对不同场景及地形时能够切换形态。四足形态下整体总共拥有8个自由度DOF,单腿各具备2个自由度DOF,足端结构融入了履带机构&#xf…

c#: 任务栏进度显示(TaskbarManager)

Win7及以上系统支持任务栏进度条,为有进度类应用显示进度于任务栏,甚为方便。 以c#之WinForm实现其,大多采用Windows API Code Pack这个方案,加多引用,比较繁琐,而我总也打不开了其页面。 鄙人不喜欢多引用…

今天,过了27年后,IE浏览器停用了

前言随着Windows的官宣,ie浏览器将于6月16日正式退役。https://www.microsoft.com/zh-cn/download/internet-explorer.aspx那个曾几何时的浏览器之王,经历一次又一次操作系统的迭代,直至新兴浏览器的出现后沦为浏览器鄙视链的最后一层&#x…

boost库学习入门篇

学习及使用Boost库已经有一段时间了,Boost为我的日常开发中带来了极大的方便,也使得我越来越依赖于boost库了。但boost功能太多,每次使用还是得翻看以前的 资料,所以为了以后可以更方便的使用,在此对常用的功能作一个…

开源 STM32 USB-CAN项目

照理来说,USB-CAN这种东西应该已经被做的烂大街的工具,国内居然没有一个拿得出手的开源方案。某立功和PCAN动辄2000的价格也是离谱。淘宝上各种虚拟串口方案、替换dll兼容某立功软件的各种方案....价格都倒是便宜,性能和可靠性嘛.......就不多…

Go语言web框架 gin

Go语言web框架 GIN gin是go语言环境下的一个web框架, 它类似于Martini, 官方声称它比Martini有更好的性能, 比Martini快40倍, Ohhhh….看着不错的样子, 所以就想记录一下gin的学习. gin的github代码在这里: gin源码. gin的效率获得如此突飞猛进, 得益于另一个开源项目httproute…

8位ADC是256还是255?

昨天的文章发了之后,有朋友找到我,给我讨论了很多关于ADC细节。晚上给个朋友在51上调ADC0808芯片有一个朋友是做硬件的,他有从事过专业仪器设备,常年有使用ADC的经验,他给我的观点是,8位ADC对应的就是256。…

boost库在ubuntu下的安装

系统是ubuntu虚拟机,安装的是boost_1_60_0。 (1)首先去下载最新的boost代码包,网址www.boost.org。 (2)进入到自己的目录,解压: bzip2 -d boost_1_60_0.tar.bz2 tar xvf boost_1_…

所谓的0拷贝不就是为了让CPU休息吗?深入理解mmap

1.开场白环境:处理器架构:arm64内核源码:linux-5.11ubuntu版本:20.04.1代码阅读工具:vimctagscscope我们知道,linux系统中用户空间和内核空间是隔离的,用户空间程序不能随意的访问内核空间数据&…

boost::function的用法(一)

boost::function的用法 本片文章主要介绍boost::function的用法。 boost::function 就是一个函数的包装器(function wrapper),用来定义函数对象。 1. 介绍 Boost.Function 库包含了一个类族的函数对象的包装。它的概念很像广义上的回调函数。其有着和函数指针相同的…

nhibernate学习之集合组合依赖

1.学习目标还是学习compenent的用法,上节实现了简单字段的组合,这节中将讨论两个问题:1.依赖对象有一个指向容器对象的引用。2。集合依赖2.开发环境和必要准备开发环境为:windows 2003,Visual studio .Net 2005,Sql server 2005 developer ed…

追更这个做嵌入式的大佬

在知乎上看到一个做嵌入式91年小年轻,分享给大家在他看来,嵌入式也是一个很吃香的技术,在周末写这篇文章的时候,也刚收到一个朋友的微信消息,他说自己拿到了70多万的年包offer。大家想追更作者的原文,可以点…

CentOS6.5安装ElasticSearch6.2.3

CentOS6.5安装ElasticSearch6.2.3 1、Elastic 需要 Java 8 环境。(安装步骤:http://www.cnblogs.com/hunttown/p/5450463.html) 2、安装包下载: #官网地址 https://www.elastic.co/downloads/elasticsearch 3、新建用户 Elastic高…

这道字符串反转的题目,你能想到更好的方法吗?

周末有一个朋友问了一个笔试题目,当时还直播写了答案,但是总觉得写得不够好,现在把题目放出来。大家看看有没有什么更好的解法题目有一个字符串,如下,要求对字符串做反转后输出//input the sky is blue//output blue …

流媒体服务器搭建实例——可实现录音,录像功能

由于我也是刚开始接触这个东东,原理什么的不是很清楚,这里我就不说了,免得误人子弟,嘿嘿!第一步,下载FlashMediaServer3.5,网上有很多资源,这里就不提供了,大家google一下…

一个女孩子居然做了十年硬件。​。。

本文转自面包板社区。--正文--2011年,一个三本大学的电子信息专业的大三女学生跟2个通信专业的大二男生组成了一组代表学校参加2011年“瑞萨杯”全国大学生电子设计大赛,很意外的获得了湖北赛区省三等奖,虽然很意外,但还是挺高兴的…

之前字符串反转的题目

之前发的字符串反转的题目这道字符串反转的题目,你能想到更好的方法吗?有很多人评论了,有的人还写了自己的解题思路,还有人写了自己的代码还有其中呼声很高的压栈解法我相信很多人在笔试的时候一定会遇到这类题目,给你…

hdu 3488

可以作为KM 二分图最大权匹配模板 View Code #include <stdio.h>#include <iostream>#include <string.h>using namespace std;const int N210;const int inf0x2fffffff;const int Max20000;int match[N],n,m,lack,w[N][N],lx[N],ly[N];bool vx[N],vy[N];bo…

心情不好,我就这样写代码

在 GitHub 上有一个项目&#xff0c;它描述了「最佳垃圾代码」的十九条关键准则。从变量命名到注释编写&#xff0c;这些准则将指导你写出最亮眼的烂代码。为了保持与原 GitHub 项目一致的风格&#xff0c;下文没有进行转换。读者们可以以相反的角度来理解所有观点&#xff0c;…