概述
最近编写了一个C++代码格式化的小程序。
程序主要要求实现对C++代码的格式化,以使程序代码美观。
我的程序主要实现以下的功能:缩进采用ANSI的格式,采用缩进4格的模式。遇到分号则换行另启一行。
参考是开源程序astyle,下载地址:http://download.csdn.net/source/438852
如以下程序代码:









格式化后程序如下;












程序思路:
读文件,输入文件名,读入文件
以行为单位,读入文件,存入<list>中
去除每行中无用的空格,tab字符
处理每一行的字符
如果是“{”,结束前面的处理,申请新行,压入应该缩进的空格,存入“{”,记录变量加1(以这个变量记录应该缩进空格),再申请新行,压入应该缩进的空格
如果是“}”,结束前面的处理,申请新行,压入应该缩进的空格,存入“{”,记录变量减1(以这个变量记录应该缩进空格),再申请新行,压入应该缩进的空格
如果是“;”,压入“;”,结束旧行处理,申请新行,压入应该缩进的空格(for中“;”应该另处理)
如果是行结束,结束旧行处理,申请新行,压入应该缩进的空格
直到处理完全部。
将处理完结果写入文件,为防止格式化过程出现错误,应该把源文件另外保存。
过两天再把代码发上来吧。
最后
以上就是哭泣犀牛为你收集整理的代码格式化程序的全部内容,希望文章能够帮你解决代码格式化程序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复