#include<iostream>
#include<fstream>
#include<string>
using namespace std;
/*本程序根据遇到的首个非空字符进行判断,以下情况不能检测:
1.代码行后面注释//
2.代码行中间注释/*......*/
//3.代码行后面注释/*.....*/(如果注释几行会连续判断为代码行)
int main()
{
char filename[60];
ifstream inFile;
cout<<"请输入根目录的文件名: (本程序源代码输入:源.cpp)"<<endl;
cin.getline(filename,60);
inFile.open(filename);
if(!inFile.is_open())
{
cout<<"fail"<<endl;
exit(EXIT_FAILURE);
}
int c_line=0;
int n_line=0;
int e_line=0;
int line=0;
string temp;
// /*......*/注释判断标志
bool eflag=false;
// 是否空行判断标志
bool isline=false;
while(inFile.good())
{
while(getline(inFile,temp))
{
line++;
for(unsigned int i=0;i<temp.length();i++)
{
//去除无效字符
if(temp[i]==' '||temp[i]=='\t'||temp[i]=='\r')
{
continue;
};
//代码行判断
if(temp[i]!=' '&&am
C++实现简单源代码计算
最新推荐文章于 2024-07-25 16:39:28 发布
该博客介绍了一个C++程序,用于统计代码文件中的总行数、代码行数、空行数和注释行数。程序通过读取文件并解析每一行的内容来区分代码、空行和不同类型的注释。
摘要由CSDN通过智能技术生成