C++ MFC 载入功能无法读取全部数据的问题

用这个代码时界面只能显示TXT文件中的第一行
有没有大佬帮忙改一改

void CQWL_TXLDlg::OnBUTTONload()
{

BOOL end=FALSE;
char p[100];
int row=0,column=0;
fstream infile("book.txt",ios::in|ios::nocreate);
if(!infile)
{
    MessageBox("您没有保存信息");
    return;
}
while(1)
{
    m_list.InsertItem(m_list.GetItemCount(),NULL,NULL);
    for(column=0;column<4;column++)
    {
        if(!(infile>>p))
        {
            end=TRUE;
            break;
        }
        m_list.SetItemText(row,column,p);
    }
    row++;
    if(TRUE==end)
    {
        break;
    }
    infile.close();
}

}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^