*.txt中的文件内容是以空格分开的,我要读取每一段的内容
比如说这样:"csdn 我爱他 今天你来了吗 ....."后面的内容都是如此.有字母也有
汉字,我的功能就是把这些内容读出来并且区分是字母还是汉字,
各位大虾帮忙了!!!!!!!!

解决方案 »

  1.   

    CStdioFile file;
    if( !file.Open("d:\\1.txt", CFile::modeRead) )
    {
    AfxMessageBox("can not open file!");
    return;
    } CString strLine, strTemp; while( file.ReadString(strLine) )
    {
    char *str = strLine.GetBufferSetLength(strLine.GetLength()); 
    char *p;

    for ( p=strtok(str, " "); p!=NULL; p=strtok(NULL, " ") )
    {
    strTemp = p;
    //这里解析strTemp是字符或者汉字
    }
    }
      

  2.   

    同意楼上,使用CSTDIOFILE类解决问题
      

  3.   

    先将文本读到CString中,然后查找空格进行截取
      

  4.   

    CStdioFile f("your file name");
    CString str;
    while(f.ReadString(str))//一次读取一行
    {
        ...在此用CString类函数处理是数据还是字符!
    }
      

  5.   

    此外对汉字和字符的区别判断:Turbo C中规定汉字码的ASCII码值大于0x80,所以用ascii码值可以判断到底是汉字还是字符
      

  6.   

    //用以下方法应该可区分字符或汉字
    char *temp = str.GetBuffer(iLen);
    char ch;
    for(int i=0;i<iLen;i++)
    {
    ch=*temp++;
    //是占双字符宽度的字符或符号
    if ( ch>31 && ch<127 )
    {
    ......
    }
    }
      

  7.   

    CString str = "a我b靠c";
    int nCharCount = 0;//字符个数
    int nChineseCount = 0;//汉字个数
    for(int i = 0; i < str.GetLength(); i++)
    {
    if( (BYTE)str[i] < 0x80 ) 
    {
    nCharCount++;
    nChineseCount++;
    }
    else
    {
    nCharCount++;
    i++;
    }
    }