2015-10-16 71 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

相关问题