2012-10-08 79 views
0

我想從我的C++代碼中控制unzip命令。我的問題是,如果我想解壓的ZIP文件是密碼加密的,則解壓縮工具會提示密碼。MAC C++控制交互命令行工具

所以我需要從我的C++代碼給它密碼,然後按回車,但我希望我的代碼自動執行此操作。

所以這裏是我到現在爲止,但是當我運行它,首先系統()命令將被執行,然後程序繼續,但它不寫入密碼到終端時,解壓要求:(

#include <iostream> 
#include </System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Headers/CGEvent.h> 
#include <Carbon/Carbon.h> 

int main (int argc, const char * argv[]) 
{ 

    using namespace std; 

    system("clear"); 

    //---------------------------------------------- 

    { 
     system("unzip /Users/das_virus/Desktop/NeuerOrdner2/M1/Auswahl.zip"), 
     cout << "a"; 

     /*CGEventRef event1, event2, event3, event4; 

     event1 = CGEventCreateKeyboardEvent (NULL,(CGKeyCode)0,true); 
     event2 = CGEventCreateKeyboardEvent (NULL,(CGKeyCode)0,false); 
     event3 = CGEventCreateKeyboardEvent (NULL,(CGKeyCode)36,true); 
     event4 = CGEventCreateKeyboardEvent (NULL,(CGKeyCode)36,false); 

     ProcessSerialNumber psn; 
     GetFrontProcess(&psn); 

     CGEventPostToPSN(&psn,event1); 
     CGEventPostToPSN(&psn,event2); 
     CGEventPostToPSN(&psn,event3); 
     CGEventPostToPSN(&psn,event4);*/ 
    } 

    return 0; 
} 

我希望有人可以給我一個答案:)

+1

使用'-P密碼'命令行開關? – zneak

+0

到現在爲止,我不常見這個網站,對不起。我會盡我所能,但我沒有看到你發佈。 – user1641602

回答

0

使用-P password命令行開關傳遞的密碼作爲參數。