2014-07-03 48 views
-4

添加或刪除這些文件,我使用C#兩個files.c之間進行比較,我可以看看它們是不同的或沒有,但功能數量我正在尋找一種方法來計算的函數(方法)的數量已經增加或刪除或修改到這些file.c比較兩個file.c之間和計數的已使用C#

這是我的代碼,到現在爲止

private bool FileCompare(string file1, string file2) 
{ 
    int file1byte; 
    int file2byte; 
    FileStream fs1; 
    FileStream fs2; 

    // Determine if the same file was referenced two times. 
    if (file1 == file2) 
    { 
      // Return true to indicate that the files are the same. 
      return true; 
    } 

    // Open the two files. 
    fs1 = new FileStream(file1, FileMode.Open, FileAccess.Read); 
    fs2 = new FileStream(file2, FileMode.Open, FileAccess.Read); 

    // Check the file sizes. If they are not the same, the files 
     // are not the same. 
    if (fs1.Length != fs2.Length) 
    { 
      // Close the file 
      fs1.Close(); 
      fs2.Close(); 

      // Return false to indicate files are different 
return false; 
    } 

任何人有任何sugggetion? 感謝您的幫助。

+0

所以你想從我們爲你寫了'C'解析器? –

+0

@ Selman22 - 或建議一個'C'解析器 – Jonny

+0

答案中有用的東西? –

回答

0

首先:你有一個可怕的拼寫和語法!

,你可以去的方式是寫一個自己的C解析器或使用現有的,它提供了你需要的信息。

檢查這個工具:cpp-ripper

的C++開膛手項目的目標是創建專門用於C和C++代碼的簡單,可重複使用 解析框架。在C++開膛 解析器是一個遞歸下降語法分析器,它使用操作符重載 以允許使用類似於的PEG的符號語法的表達。

我正在開發C++ Ripper以形成工具的基礎,這些工具可以解析 C++文檔,執行漂亮的打印,並且可以用於 重構代碼。應該很容易適應其他目的和其他 語言。

您可以從here得到它的來源。

如果它不爲你提供你所需要的所有信息,讀到的資料,其讓你啓發寫自己的解析器/框架。