请问哈大家:
void CPmacProgrameDlg::OnBnClickedButtonStart()
{
// TODO: Add your control notification handler code here
TCHAR Data[255];
PmacGetResponseExA(0,Data,255,_T("#1j+"));
SetTimer(1,1000,NULL);
}
这个函数在VC6.0可以编译,而且正常运行。而在VS2005环境下却编译错误,错误如下:
error C2664: 'PmacGetResponseExA' : cannot convert parameter 2 from 'TCHAR [255]' to 'PCHAR'PmacGetResponseExA()函数的申明如下:
PmacGetResponseExA(DWORD dwDevice,PCHAR s,UINT maxchar,PCHAR outstr);请问这是怪什么呢?该怎么改呢?

解决方案 »

  1.   

    VS2005环境下应该是宽字节的环境了吧,所以 TCHAR 为WCHAR了,把TCHAR Data[255];设置成char Data[255];吧
      

  2.   

    char Data[255];
    PmacGetResponseExA(0,Data,255,"#1j+");本来这个PmacGetResponseExA就是ansi版本,不能用TCHAR
    找找有没TCHAR版的PmacGetResponseEx
      

  3.   

    TCHAR Data[255];=》 char Data[255];
      

  4.   

    我把TCHAR Data[255];设置成char Data[255];也不得行!
      

  5.   

    我把TCHAR Data[255];设置成char Data[255];也不得行!
      

  6.   

    TCHAR Data[255];=》 CHAR Data[255];
      

  7.   

    TCHAR Data[255];=》 CHAR Data[255];也不行呀
      

  8.   

    typedef char CHAR;typedef CHAR *PCHAR;就是char指针,怎么会不行了,再不行就强制转换吧
    char  Data[255];
    PmacGetResponseExA(0,(PCHAR)Data,255,_T("#1j+"));