注释转换工具

MySQL乱码处理:GBK与UTF-8注释转换工具 在数据库备份的过程中,数据一致性是指在备份操作完成时,备份文件中的数据与原数据库中的数据在逻辑上保持一致,没有任何的数据丢失或损坏。这是一项关键要求,因为一旦备份文件中存在数据不一致,那么在恢复数据时,就可能出现数据损坏、丢失的情况,甚至可能导致业务无法正常运行。数据不一致可能由于备份时的系统故障、网络故障、人为操作错误等因素造成。 阅读详情

注释转换工具

项目源码

项目简介 :

实现对一个C/C++语言程序源文件中注释的转换功能。

开发环境 : Linux/windows, c++, vs, vim, g++, gdb, make

主要技术 : 状态机,继承多态

实现思路 :

注释转换工具使用的主要的技术是状态机,通过对输入的文件流中的每个字符读取识别然后进入不同的状态进行处理,最终实现将输入文件流中的/**/注释转换为//。

主要代码摘录:

typedef enum
{
    NO_COMMENT_STATE,   //非注释状态
    C_COMMENT_STATE,    //c注释状态
    CPP_COMMENT_STATE,  //c++注释状态
    QUOTATION_STATE,    //引号状态
    END_STATE           //文本处理结束状态
}ENUM_STATE;

//状态机
typedef struct StateMachine
{
    FILE *inputfile;    //输入文件
    FILE *outputfile;   //输出文件
    ENUM_STATE state;   //当前状态
    ENUM_STATE pre_state;   //上一个状态
}StateMachine;

//注释转换的框架
int ConvertComment(FILE *inputfile, FILE *outputfile)
{
    if(inputfile==NULL || outputfile==NULL)
    {
        cout<<"argument is invalid."<<endl;
        return -1;
    }

    ///////////////////////////////////////////
    g_state.inputfile = inputfile;
    g_state.outputfile = outputfile;
    g_state.state = NO_COMMENT_STATE;

    char ch;
    while(g_state.state != END_STATE)
    {
        ch = fgetc(g_state.inputfile);
        EventPro(ch);
    }

    return 0;
}

//注释转换的核心过程
void EventPro(char ch)
{
    switch(g_state.state)
    {
    //根据当前状态机的状态调用对应的函数处理
    case NO_COMMENT_STATE:
        EventProAtNo(ch);
        break;
    case C_COMMENT_STATE:
        EventProAtC(ch);
        break;
    case CPP_COMMENT_STATE:
        EventProAtCpp(ch);
        break;
    case QUOTATION_STATE:
        EventProAtQuotation(ch);
        break;
    //case END_STATE:
    //  break;
    }
}

项目特点:

  1. 符合语法规则的前提下,支持c注释与c++注释相互转换。

  2. 支持单行注释,跨行注释和嵌套注释的转换。

  3. 将源码封装成库,进行加载使用。
注释生成器 提供一种简单的生成注释的方法。并有pb原代码,很简单。希望大家对此程序多提意见,加以更改。使注释真正的简洁方便美观。 立即下载

相关推荐

C/C++源程序注释的删除

C语言注释删除程序 [程序功能] 1、删除注释,包括块注释(/**/)和行注释(//) 2、删除空白行 3、用指定数量的空格替换TAB字符 [使用方法] 1、在WINDOWS的CMD窗口中键入行命令 2、使用WINDOWS的批处理文件(.BAT) [命令格式] CommRemove [//] [/*] [/b] [/t] [格式说明] 需要处理的源文件" 处理后的结果文件" [/b] 删除源文件中的空白行" [/*] 删除源文件中的/**/注释" [//] 删除源文件中//注释" [/t] 将源文件中的TAB字符替换为空格,n为替换空格的个数" 其中的必须指定一个数值" 注:格式中的上述部分顺序不分先后,并且可以混合使用。

注释转换

注释转换(c++项目) 有时在一个系统中,有的使用 C++注释方式// ,有的使用 C 语言注释方式/* */, 要求把所有的注释统一,若是C++工程,则使用//进行注释,若是 C 语言工程时,使用/* */注释,针对一个大工程而言,不可能纯手工进行修改,我们需要一个自动化的转换工具 开发环境:Linux 职责描述:c++改为c注释 头文件 utili.h 主要封装一些头文件,枚举、宏定...

谱繁华的博客 322

代码注释图形工具(字符画生成工具)

包含图片转字符画工具(jave5)、原理图转字符画工具(AACircuit1_28_7)。使用方法可以查询对应名字

这些代码转换工具太香了

当有需求将某语言实现的脚本转换为另一语言时,尽管许多概念在不同语言之间是相通的,但每种语言仍然在语法与风格上存在差别在时间充裕的情况下可以花时间学习一门新语言,但随着AI的发展,有大量基于人工智能驱动的工具可以轻松完成这个任务,但是强烈建议只是针对量不大、脚本类型但的工作。一起看看吧~

啥都生的博客 3566

C++注释转换为C语言的注释

将C++的单行注释改成C语言的注释. 在Windows 下用VC2005环境写程序的时候, 有C语言写的程序, 但是用了C++的注释, 也能成功编译连接运行. 但发现也有很多编译器不支持C++的单行注释. 又不想手机地改所有的代码. 所以写了一个程序来自动将C++的单行注释替换成C语言的注释格式. 压缩包中有两个文件. 其中 to_c_style_comment.c 中的我程序文件. cpptest.c 只是一个测试文件. 是一个包含C++单行注释的c源程序, 仅供测试用. 编译方法: gcc -o to_c_style_comment to_c_style_comment.c 测试方法: ./to_c_style_comment cpptest.c 或 ./to_c_style_comment cpptest.c outputfile

注释转换机

将C++的注释风格转换为C语言的注释风格

项目(2)——注释转换工具

项目——注释转换工具 一、简历上写的 二、为什么要做这个项目? 在一个大型工程当中,由于代码人员的多样性,使得代码的注释风格不同。然而在发布版本中,注释风格应该保持一致,以便于其他人员在后期的使用和维护。 由此,产生了如下的需求: 实现对一个C/C++语言程序源文件中注释的转换功能(在这里 我们实现的是C++注释转换为标准C语言注释) 三、分析一下这个项目: ...

yx20130919的博客 275

使用TensorFlow搭建FNN(全连接神经网络)的基本步骤

提示:转载请注明出处,若本文无意侵犯到您的合法权益,请及时与作者联系。 目录 一、定义神经网络的输入输出 二、搭建神经网络 1、定义一个神经层中的权重 2、定义一个神经层中的阈值 3、定义一个神经层中的激活函数 4、组合神经层为神经网络 三、搭建损失函数和优化器 1、搭建损失函数 首先介绍第一个函数这其中用到的共同的函数为 2、定义优化器 四、训练神经网络 全连接神经网络的网络结构如下: 一、定义神经网络的输入输出 神经网络最擅长的工作就是模拟非线性函数,即一个复杂的高..

qq_41959920的博客 4070

注释转换器

让我们来实现一个注释转换器。它可以将拥有c风格(/* code */)或c++风格(// code)的注释的代码转换为c风格。 刚开始看到这个题目是有点头晕的,因为各种注释的混合将使情况变得非常复杂,比如: //code /*code*/ //code /*code*/ /*//code/*/ 这里只列举了几种情况,当然还有更多。所以想要单纯的通过if-else语句判断是很麻烦很麻烦的

Fireplusplus的博客 946

Win11用户文件夹中文名修改全攻略

本文详细介绍了Windows 11系统中修改中文用户文件夹名称的完整步骤。操作包含七个关键环节:前期数据备份、账户名称修改、管理员账户激活、用户文件夹重命名、注册表路径更新、收尾操作及注意事项。特别强调需要同步修改账户名、文件夹名和注册表关联路径,并建议操作前备份重要数据。文中还针对常见问题提供了解决方案,如软件报错时的符号链接创建方法。整个过程需谨慎操作,建议在管理员权限下逐步执行,修改完成后需验证系统及软件功能是否正常。

Qinti_mm的博客 3124

nRF52811墨水屏时钟DIY:从全刷到局刷的实战改造指南(附完整代码)

本文详细介绍了如何将基于nRF52811的墨水屏时钟从耗电的全屏刷新模式改造为高效的局部刷新模式。通过剖析全刷与局刷的原理差异,提供了从工程架构、驱动层适配到应用层逻辑重构的完整实战指南,并附上关键代码示例。改造后,设备功耗显著降低,续航大幅提升,同时解决了视觉闪烁问题,是DIY低功耗墨水屏应用的实用参考。

weixin_29194693的博客 355

推荐使用:pandoc-sidenote —— 转换你的脚注为侧边注

推荐使用:pandoc-sidenote —— 转换你的脚注为侧边注 在学术写作或长篇文章中,有效的注释系统对于提升阅读体验至关重要。今天,我们来探索一个简洁而高效的开源工具——pandoc-sidenote,它能够将Pandoc Markdown格式的脚注无缝转换成优雅的侧边注,非常适合那些希望采用爱德华·土夫特(Edward Tufte)风格排版的作者们。 项目介绍 pandoc-sideno...

gitblog_00774的博客 680

zblog mysql数据库无法连接_ZBlog博客网站错误:MySQL数据库无法连接

前言前天搭建的博客网站,睡醒一觉起来网站挂逼了,其间无任何操作。主页都进不去,提示“MySQL数据库无法连接”,无论怎么刷新重启服务器都没用。最终从中午1点搞到凌晨2点,皇天不负有心人终于解决了。其实问题很简单,只是没这方面的经验,走了很多弯路。我本人并不是搞WEB的,搞这个博客纯碎就是玩玩罢了。处理这个问题的时候查了很久的资料,都是一些没太大意义的,无非就是让你改zb_user/c_option...

weixin_34691461的博客 2205

Swag - 将Go注释转换为Swagger文档的强大工具

/ TypeSpecDef包含类型定义的完整信息File *ast.File // 包含TypeSpec的ast文件TypeSpec *ast.TypeSpec // 类型定义Enums []EnumValue // 枚举值PkgPath string // 包路径ParentSpec ast.Decl // 父声明SchemaName string // Schema名称NotUnique bool // 是否唯一。

分享技术点滴 630

18、公开可用的PPG数据库介绍

本文介绍了多个公开可用的PPG(光电容积描记)数据库,包括PPG-BP数据库、MIMIC II波形数据库、运动期间手腕PPG数据库以及指尖PPG与呼吸数据库等。这些数据库提供了丰富的生理信号数据,适用于动脉血压检测、呼吸频率估计、运动干扰去除以及基于PPG的生物特征识别等研究。每个数据库的数据来源、受试者信息、信号特点和下载方式均有详细介绍,并展示了如何利用这些数据库进行信号分析和算法评估。

salt的博客 388

【专栏必读】王道考研408数据结构+算法设计与分析万字笔记使用说明及章节导航

各位老铁思维导图在我整理完笔记后会放上去的,我需要根据王道的思维导图重新再做一遍 文章目录一:有关注意事项二:关于专栏三:学习建议四:各专栏导航(各位老铁别催,质量优先)(1)第一章:绪论(2)第二章:线性表(3)第三章:栈和队列第四章:串第五章:二叉树第六章:图 首先感谢王道大大(手动比心),很用心在做了,大家可以看其中两节是否符合胃口 (王道408考研数据结构)第五章树-第三节1:二叉树遍历(先序、中序和后序) (王道408考研数据结构)第五章树-第四节2:平衡二叉树(AVL)及其旋转 一:有.

快乐江湖的博客 5万+
上一篇: cocos2dx跨平台游戏PoetryInGame
下一篇: gdb调试多进程和多线程命令
Findway_
博客等级 码龄10年 36粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值