对于大多数开发人员,有时候需要统计下项目的代码量,因此想使用C++开发一个代码统计的程序,结合之前了解到的excel读写库OpenXLSX,将需要统计的目录配置在dir.txt中,代码如下:
XLDocument doc;
doc.create("./CodeLineCount.xlsx");
auto wks = doc.workbook().worksheet("Sheet1");
string filename = "A";
string count = "B";
int l = 1;
fstream finDir;
finDir.open("dir.txt", ios::in);
string dir;
getline(finDir, dir);
vector<string> files;
//getAllFiles("F:\\Chengpin2015\\Chengpin.Common\\Web", files);
getAllFiles(dir, files);
/*vector<string> files;
getAllFiles("F:\\Chengpin2015\\Chengpin.Common\\Web", files);*/
for (vector<string>::iterator it = files.begin(); it < files.end(); it++)
{
cout<< *it<<endl;
fstream fin;
fin.open(*it, ios::in);
string tmp;
int i = 0;
while (getline(fin, tmp))
{
i++;
}
string cell1 = filename + to_string(l);
string cell2 = count + to_string(l);
wks.cell(XLCellReference(cell1)).value() = *it;
wks.cell(XLCellReference(cell2)).value() = i;
fin.close();
cout << i << endl;
l++;
}
doc.save();
运行Demo1.exe,之后生成的代码统计CodeLineCount.xlsx,