SetCurrentDirectory(_T(fileNewPath));
CString dosCom = "adpcm -d 1.adpcm";
if(!system(dosCom))         //这个执行成功 但是我换了一个  
if(WinExec("cmd  /c  "+ dosCom+ " /b",SW_HIDE)==31)   //这个执行不成功请教如何处理?

解决方案 »

  1.   

    if(WinExec("cmd  //c  "+ dosCom+ " //b",SW_HIDE)==31) 
      

  2.   

    转义字符的解释
    \\ 反斜线符"\" 转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例 如,在前面各例题printf函数的格式串中用到的“\n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控 制代码。
    常用的转义字符及其含义
    转义字符 转义字符的意义
    \n 回车换行
    \t 横向跳到下一制表位置
    \v 竖向跳格
    \b 退格
    \r 回车
    \f 走纸换页
    \\ 反斜线符"\"
    \' 单引号符
    \a 鸣铃
    \ddd 1~3位八进制数所代表的字符
    \xhh 1~2位十六进制数所代表的字符 
      

  3.   

    CString str= "cmd  //c  "+ dosCom+ " //b" ;
    if(WinExec(str,SW_HIDE)==31);
    试一试
      

  4.   

    :\WTP\WTPDlg.cpp(887) : error C2018: unknown character '0xa3'
    D:\WTP\WTPDlg.cpp(887) : error C2018: unknown character '0xbb'
      

  5.   

    一个dos 外部命令..  是  fileNewPath  路径下的  adpcm.exe 处理一个  1.adpcm 的格式文件
        adpcm.exe   用法是  adpcm -d 1.adpcm
      

  6.   

    我的意思是你要在程序你执行的dos命令,先在命令行里把他整对了以后,再到程序里执行。
      

  7.   

    CString str= "cmd  \/c  "+ dosCom+ " \/b";
       会不会是这样?
      

  8.   


       if(!system(dosCom))  这个函数没错啊
      

  9.   

    你可以把所有的命令保存到一个bat里面再调用这个bat执行啊。
    如果有参数使用%1 %2.....
      

  10.   

    dosCom  这个命令是没错的
      

  11.   

    AfxMessageBox(str);
    弹个框看看你拼写出来的命令到底是什么!
      

  12.   

    先将你的命令在cmd程序中测试,
    测试好了再将命令字符串放在str
      

  13.   

    cmd \c adpcm -d 1.adpcm \b 强出这个... 
      

  14.   

    // 用这个 
    要弹出cmd /c adpcm -d 1.adpcm /b 这个才行