读取文件时出现一个奇怪的异常

读取文件时出现一个奇怪的错误
假设有个文件,内容如下
//格式:x,y,z,t  
1.1   2.2   3.3   4.4  
9.9   10.1   11.14   12.12  
(每行结束最后都有一个空格)
我的目的是每读一个数输出一个值,用对话形式输出;
现在碰到的情况是,第一行的数能正确读出来,但是第二行就有些问题了,9.9跟10.1能读出来,但后面11.14没显示出来,而是显示出来4,12.12也正常,不知道是怎么回事?


//测试程序基于对话框,添加一下按钮即可
void   CReadStringDlg::OnButton1()  
{
        CString   str,str1,str2,str3,str4;
        double   x=0,y=0,z=0,t=0;

        CStdioFile   *pFile=new   CStdioFile();
        pFile-> Open( "1.txt ",   CFile::modeRead);  
        while(pFile-> ReadString(str))
        {
                CString   temp;
                str1=str.Left(str.Find( '   '));
                x=atof(str1);
                MessageBox(str1);

                str.TrimLeft(str1   +   '   ');
                str2   =   str.Left(str.Find( '   '));
                y   =   atof(str2);
                MessageBox(str2);
               
                str.TrimLeft(str2   +   '   ');
                str3   =   str.Left(str.Find( '   '));
                z   =atof(str3);
                MessageBox(str3);

                str.TrimLeft(str3   +   '   ');
                str4   =   str.Left(str.Find( '   '));
                t   =   atof(str4);
                MessageBox(str4);
        }
        pFile-> Close();
}

------解决方案--------------------
以下MSDN的原文

Call the version of this member function with no parameters to trim leading whitespace characters from the string. When used with no parameters, TrimLeft removes newline, space, and tab characters.

Use the versions of this function that accept parameters to remove a particular character or a particular group of characters from the beginning of a string.