2015-09-29 81 views
-1

我可以讀取C文件++。這是我的代碼:閱讀文件,而無需解壓(C++)

std::string ReadFile(std::string file) 
{ 
    char buff[20480]; 
    std::ifstream fread(file, std::ios::binary | std::ios::app); 
    fread.read(buff,sizeof(buff)); 
    std::string str = buff; 
    fread.close(); 
    return str; 
} 

變量「file」是FilePath。我得到一個文件夾.zip,我想讀取文件夾中的文件。我該怎麼辦?我嘗試使用libzip,但它解決不了我的問題,也許我沒有通過錯誤的方式來使用它。

+0

是的,你是懶惰的,因爲你沒有進行研究。 -1 –

回答

0

除非你有訪問,允許解壓文件我沒有看到中的代碼如何直接API。 如果你懶惰,你可以用你喜歡的任何語言編寫一個小腳本,然後在解壓後的文件中調用你的程序

0

假設你已經解壓縮了。您是否嘗試類似:

FILE * file = popen("unzip -p filename", "r"); 

同樣,popen("gzip -f filename", "r")應該適用於gzip。

爲了解析輸出,我指的this post(與Windows提示)。我不知道更多的C++風格的做法。

0

號要解壓的文件,必須解壓縮文件。

您不需要調用unzip實用程序來執行此操作:有些庫可以通過流API顯示解壓縮,導致代碼看起來與上面所寫的代碼非常相似。但是您需要安裝並學習如何使用這些庫。