閑著無聊,將以前寫過的代碼整理了一下,看看我這一年多的時間裡寫了多少行代碼,於是花了20分鐘寫了一個統計檔案夾下所有.c和.cpp程式碼數的簡單小程式,統計了以前寫的程式碼數,統計結果是1.2w行,這裡面應該沒有比較垃圾的代碼。感覺現在比大一剛入學時候的水平提升了不少,希望2年後我的能力能比現在更強,我也會努力的~~
統計指定目錄下所有.c和.cpp行數,很簡單的小程式。輸入目錄,即可輸出每個檔案行數和總行數。。注意輸入目錄時最後別忘記加/
#include<windows.h><br />#include<iostream><br />#include<stdlib.h><br />using namespace std;</p><p>long sum=0;</p><p>void cal(char *way)<br />{<br />int lenth=strlen(way),b=1;<br />if(!stricmp(&way[lenth-4],".cpp")||!stricmp(&way[lenth-2],".c"))<br />{</p><p>FILE *p=fopen(way,"r");<br />while(!feof(p))<br />{<br />if(fgetc(p)=='/n')<br />b++;<br />}<br />sum+=b;<br />cout<<way<<" "<<b<<endl;<br />fclose(p);<br />}<br />}</p><p>void searchdisk(char *way)<br />{<br />WIN32_FIND_DATA f; HANDLE done; char newway[255],bian[255]; DWORD errorcode = 0;<br />strcpy(newway,way);<br />strcat(newway,"*.*");<br />done=FindFirstFile(newway,&f);<br />while(errorcode!=ERROR_NO_MORE_FILES)<br />{<br />errorcode=GetLastError();<br />if(errorcode==ERROR_NO_MORE_FILES)<br />break;<br />if(!(f.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))<br />{<br />strcpy(bian,way);<br />strcat(bian,f.cFileName);<br />cal(bian);<br />}<br />else if( stricmp(f.cFileName, "System Volume Information") && stricmp(f.cFileName, "recycled")&& stricmp(f.cFileName, "windows")&& stricmp(f.cFileName, "Documents and Settings") && (f.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) && strcmp(f.cFileName, ".") && strcmp(f.cFileName, "..") )<br />{<br />strcpy(bian,way);<br />strcat(bian,f.cFileName);<br />strcat(bian,"//");<br />searchdisk(bian);<br />}<br />errorcode=GetLastError();<br />FindNextFile(done,&f);<br /> }<br /> CloseHandle(done);</p><p>}</p><p>int main()<br />{<br />char path[255];<br /> cin>>path;<br />searchdisk(path);<br />cout<<sum<<endl;<br />}