比如我有一个DAT文件,里面只有两个个数据12345 54321(用空格隔开),我想把它读取到变量a,b中,之前试过串行化和CFile::Read,但是读入的数据都是分开的(比如把12345的第一个数1读给了a),那怎样才能把12345,54321一整个数字fenbie1读进变量a,b中呢????如果已将“12345 54321”用ReadString读了字符串,可否实现,有没有更好的方法,小弟新学,忘高手指点

解决方案 »

  1.   

    又发了个贴问啊,我帮你写了个程序可以分割的,调试通过,你试试看行不行吧void CSubButtonDlg::OnOK() 
    {
    CStdioFile file;
    CString a,b;    //存放读出来的字符串
    file.Open(_T("c:\\DAT.DAT"), CFile::modeRead);
    CString strLine(_T(""));
    int nLineCount = 0;
    file.ReadString(strLine);
    int number = atoi(strLine); // "12345"
    file.Close(); CStringArray   dest;       
    while(strLine.Find( " ")   !=   -1) 

    int   k   =   strLine.Find( " "); 
    dest.Add(strLine.Left(k)); 
    strLine   =   strLine.Mid(k+1); 

    dest.Add(strLine); 
    a = dest.GetAt(0);
    b = dest.GetAt(1);
    // MessageBox(dest.GetAt(0));
    // MessageBox(dest.GetAt(1));}
      

  2.   

    一次读取到buffer中,利用_tcstok()以空格为分隔符来分割
      

  3.   

    CStdioFile file; //定义文件对象类型为CStdioFile
    file.Open("c:\\DAT.DAT", CFile::modeRead);//打开文件,文件索引目录自己设
    CString str;
    file.ReadString(str); //读取一行字符串
    int index=str.Find(' '); //下面都是对字符串操作了
    CString astr=str.Left(index);
    CString bstr=str.Right(index);
    int a=atoi(astr);  //包含<stdlib.h>
    int b=atoi(bstr);