我在PHP中将一个路径作为参数传递给COM组件接口,但是在COM组件中把传递过来的路径打印到文件中时,只有一个“C”,后边的路径没有了
求高手给出解决办法。注:开始我以为是BSTR的原因,传非路径的字符串就可以全部打印到文件中COM组件接口概要:
//获得文件路径
STDMETHODIMP Ccom::GetPath(BSTR filePath)
{
        FILE *logF1 = fopen("C:\\website\\WS\\WSCOM\\logWS1.txt","wb");
        fprintf(logF1,"%s\n","getPath()开始----");
fprintf(logF1,"%s","传进来的filePath路径为:");
fprintf(logF1,"%s\n\n",filePath); return S_OK;
}PHP代码概要:$wsp = new COM("WSCOM.com") or die("不能链接到WSP组件!");
$path = "C:\\website\\WS\\WSCOM\\";
echo $path;
$wsp->GetPath($path);  //把路径作为参数传递给COM组件接口

解决方案 »

  1.   

    FILE *logF1 = fopen("C:\\website\\WS\\WSCOM\\logWS1.txt","wb"); 
    fprintf(logF1,"%s\n","getPath()开始----"); 
    fprintf(logF1,"%s","传进来的filePath路径为:"); 
    fprintf(logF1,"%s\n\n",(const char*)_bstr_t(filePath) ); 或者
    FILE *logF1 = fopen("C:\\website\\WS\\WSCOM\\logWS1.txt","wb"); 
    fprintf(logF1,"%s\n","getPath()开始----"); 
    fprintf(logF1,"%s","传进来的filePath路径为:"); 
    fprintf(logF1,"%S\n\n",filePath);