我在CString里面的路径有什么问题?

时间:2011-07-11 04:28:05

标签: visual-c++

为什么这段代码不起作用? :(

  CString parameterA = _T("c:\Program Files\test\identify.exe");  
  CString parameterB = _T(" -format \"%w\" ") + pictureName;

  if (CreateProcess(parameterA.GetBuffer(), parameterB.GetBuffer(),0,0,TRUE,
          NORMAL_PRIORITY_CLASS|CREATE_NO_WINDOW,0,0,&sInfo,&pInfo))
          {
            WaitForSingleObject (pInfo.hProcess, INFINITE);
          }

但是,当我改变....

CString parameterA = _T("c:\Program Files\test\identify.exe"); 

要..

CString parameterA = _T("identify.exe"); 

它只是有效。

帮帮我......

1 个答案:

答案 0 :(得分:1)

这是斜杠。

CString parameterA = _T("c:\Program Files\test\identify.exe"); 

请注意,您有转义序列\P\t\i,其中只有一个实际上意味着某些内容(\t是制表符,而不是你真的想要!)。

相反,转义斜杠使它们被解释为斜杠:

CString parameterA = _T("c:\\Program Files\\test\\identify.exe");