提高项目31-检测代码中的main函数
来源:互联网 发布:sql server 2008价格 编辑:程序博客网 时间:2024/04/28 14:00
任务和代码:读入一个C程序,判断其中是否只有一个main()函数,输出“暂时没有发现问题”,或者“没有main()函数”,或者“不能定义多个main()函数”;
/*文件名:main.c作者:小风景完成日期:2016.7.12问题描述: 读入一个C程序,判断其中是否只有一个main()函数,输出“暂时没有发现问题”,或者“没有main()函数”,或者“不能定义多个main()函数”;程序输出:*/#include <stdio.h>#include <string.h>#include <stdlib.h>int checkmain();int main(){ int result = 0; result = checkmain(); if(result == 0) { printf("没有main函数!\n"); } else if(result == 1) { printf("暂时没有发现问题!\n"); } else { printf("不能定义多个main函数!\n"); } return 0;}int checkmain(){ int result = 0; char readinfo[1024] = {0}; //存放读取的字符串 char testinfo[10] = "main()"; FILE *fp = NULL; if((fp = fopen("source.c","r")) == NULL) //以只读的方式打开文件 { printf("open source.c file error!\n"); exit(1); } while(fgets(readinfo,sizeof(readinfo),fp)) //每次读取一行,读取失败返回null { if(strstr(readinfo,testinfo)) //利用已有的函数进行比较 { result++; } } fclose(fp); return result;}
程序运行结果:
总结:对于字符串的比较,上述程序只能确定最简单的包含main()字符串的程序,由于main函数中还能带有参数,程序中的字符串中可能也带有main()字段,如果需要一一判断,则需要更为复杂的程序。
0 0
- 提高项目31-检测代码中的main函数
- 简化MAIN函数,提高代码可读性
- 提高项目6.4-编写main函数,调用上面三个函数
- java中的main函数
- JAVA中的main函数
- Java中的main函数
- Python中的main函数
- eCos中的main函数
- eCos中的main函数 .
- main 函数中的参数
- ActivityManagerService中的main函数
- JAVA中的main函数
- DLL中的main函数
- c中的main函数
- main函数中的参数
- C++中的main函数
- java中的main函数
- java中的main函数
- nuget常用命令
- HDU 4777 Rabbit Kingdom【树状数组】
- 简约并不简单的影音室(成都宅声致音)
- 推荐一个非常棒的国漫-超神学院
- 构建数据缓冲池
- 提高项目31-检测代码中的main函数
- 仓库管理中立体仓库的定义、特点和分类
- sdafsdfa
- hdu -3926-简单判同构并查集
- 剑指offer-5-面试31:连续子数组的最大和(时间效率)
- TestNG入门笔记[2] : 简介 & 基本注解 & 举例
- log4net的使用
- JavaWeb中MVC模型的演变
- 查找算法(二叉搜索树查找,二分查找,hash查找)