2015-10-16 104 views
0

問題是我有這個按鈕,當點擊時,我想它在一個特定的可執行文件中爲我打開一個文件。如何打開我的C++應用程序內部的文件

我對C++有些生疏,這是一個傳統的應用程序使用C++ 6.0 建立在Windows XP .....所以任何幫助將不勝感激!

這裏是我的代碼CPP

void CJunkView::OnCadkeyButton() 

    { 
    CString fileToOpen = "C:\\Documents and Settings\\Administrator\\Desktop\\x.prt"; 
    CString exePath = "C:\\CK19\\Ckwin.exe"; 
    system ("start (exePath), (fileToOpen)"); 
    } 

當我點擊這個按鈕,它返回Windows無法找到「exePath,」。請確保您正確,鍵入名稱,然後再試一次。

+0

似乎沒有任何表示的C++/CLI代碼的任何使用(只是看起來像C++與MFC)。 – crashmstr

+0

你錯過的部分,而且沒有人明白是**,這不是在C或C++ **中如何進行字符串插值。 –

回答

3

你需要建立一個包含整個系統調用的字符串和該字符串的緩衝區傳遞給system()

編輯:

在迴應評論由IInspectable,我們可以只使用隱式轉換這裏操作operator LPCTSTR()

void CJunkView::OnCadkeyButton() 
{ 
    CString fileToOpen = "C:\\Documents and settings\\Administrator\\Desktop\\x.prt"; 
    CString exePath = "C:\\CK19\\Ckwin.exe"; 
    CString cmd = "start " + exePath + ", " + fileToOpen; 
    system (cmd); 
} 
+0

謝謝你的幫助我只是厭倦了你的建議,它給了我這個錯誤。 GetBuffer':函數不需要0個參數@NathanOliver – Snowman288

+0

@ Snowman288對不起。忘了'GetBUffer()'需要它的大小。我習慣於在不需要的地方使用'std :: string'。 – NathanOliver

+0

謝謝你,由於某種原因我現在得到這個錯誤 - > Windows無法找到'C:\ CK19 \ Ckwin.exe'。確保你輸入了正確的名字,然後再試一次。 @NathanOliver – Snowman288

相關問題