报错啊,求大神?“strtok”: 不能将参数 1 从“TCHAR *”转换为“char *”
while(file.ReadString(strLine))
{
TCHAR *str = strLine.GetBufferSetLength(strLine.GetLength());
char *p; if(strLine!=_T(""))
{
for (p=strtok(str,";");p!=NULL;p=strtok(NULL,";"))
{
strTemp = p;
result+=strTemp; }
row ++;
}
}

解决方案 »

  1.   

    TCHAR 是宽字节,一个字符占用两个字节 
    char 是窄字节字符,一个字符占用一个字节相互转换的方法有两个函数
    1.MultiByteToWideChar
    2.WideCharToMultiByte具体的你上MSDN看看Demo
      

  2.   

    用:
    _tcstokstrtok 对应TCHAR 是 _tcstok
    等等
      

  3.   

    while(file.ReadString(strLine))
    {
    CStringA strLineA(strLine);
    char *str = strLineA.GetBufferSetLength(strLineA.GetLength());
    char *p; if(strLine!=_T(""))
    {
    for (p=strtok(str,";");p!=NULL;p=strtok(NULL,";"))
    {
    strTemp = p;
    result+=strTemp; }
    row ++;
    }
    }
      

  4.   

    一楼的不要误导。
    TCHAR 是微软定义的通用字符类型,在多字节的时候为char,unicode编码的时候为WCHAR。
      

  5.   

    TCHAR.H Routine  _UNICODE & _MBCS Not Defined _MBCS Defined _UNICODE Defined 
    _tcstok strtok  _mbstok  wcstok