一个关于listcontrol读取txt文件的有关问题
一个关于listcontrol读取txt文件的问题
listcontrol有三列(姓名,性别,班级),通过button读取txt文件n行数据,每行一条数据(张三 男 2班),以空格隔开。我的代码如下,可是始终不行,调了半天了,大神哥哥们帮帮我
------解决方案--------------------
m_ListData Head 有没有初始化:
BOOL InitLvHead(HWND hwndListView)
{
LV_COLUMN lvColumn;
int i;
TCHAR szString[5][20] = { TEXT("Column 1"),
TEXT("Column 2"),
TEXT("Column 3"),
TEXT("Column 4"),
TEXT("Column 5")};
//initialize the columns
lvColumn.mask = LVCF_FMT
------解决方案--------------------
LVCF_WIDTH
------解决方案--------------------
LVCF_TEXT ;
lvColumn.fmt = LVCFMT_LEFT;
lvColumn.cx = 80;
for(i = 0; i < 5; i++)
{
lvColumn.pszText = szString[i];
SendMessage(hwndListView, LVM_INSERTCOLUMN, (WPARAM)i, (LPARAM)&lvColumn);
}
//
return TRUE;
}//
------解决方案--------------------
/*if (end==TRUE)
{
break;
}*/
为什么不要了。while(1) 如何退出?
/////
#include <fstream.h>
void ReadText()
{
BOOL end=FALSE;
char p[1024];
int row=0,column=0;
fstream infile("student.txt",ios::in);
if (!infile)
{
return;
}
while (1)
{
// m_ListData.InsertItem(m_ListData.GetItemCount(),NULL,NULL);
for (column=0; column < 3; column++)
{
if (!(infile>>p))
{
end =TRUE;
break;
}
afxDump << p << "\n";
//m_ListData.SetItemText(row,column,p);
}
row++;
if (end==TRUE)
{
break;
}
}
infile.close();
}
每问题的
listcontrol有三列(姓名,性别,班级),通过button读取txt文件n行数据,每行一条数据(张三 男 2班),以空格隔开。我的代码如下,可是始终不行,调了半天了,大神哥哥们帮帮我
void CStudentDemoDlg::OnBnClickedRead()
{
// TODO: 在此添加控件通知处理程序代码
BOOL end=FALSE;
char p[100];
int row=0,column=0;
fstream infile("student.txt",ios::in);
if (!infile)
{
MessageBox("你没有保存过信息!");
return;
}
while (1)
{
m_ListData.InsertItem(m_ListData.GetItemCount(),NULL,NULL);
for (column=0;column<3;column++)
{
if (!(infile>>p))
{
end =TRUE;
}
m_ListData.SetItemText(row,column,p);
}
row++;
/*if (end==TRUE)
{
break;
}*/
}
infile.close();
}
------解决方案--------------------
m_ListData Head 有没有初始化:
BOOL InitLvHead(HWND hwndListView)
{
LV_COLUMN lvColumn;
int i;
TCHAR szString[5][20] = { TEXT("Column 1"),
TEXT("Column 2"),
TEXT("Column 3"),
TEXT("Column 4"),
TEXT("Column 5")};
//initialize the columns
lvColumn.mask = LVCF_FMT
------解决方案--------------------
LVCF_WIDTH
------解决方案--------------------
LVCF_TEXT ;
lvColumn.fmt = LVCFMT_LEFT;
lvColumn.cx = 80;
for(i = 0; i < 5; i++)
{
lvColumn.pszText = szString[i];
SendMessage(hwndListView, LVM_INSERTCOLUMN, (WPARAM)i, (LPARAM)&lvColumn);
}
//
return TRUE;
}//
------解决方案--------------------
/*if (end==TRUE)
{
break;
}*/
为什么不要了。while(1) 如何退出?
/////
#include <fstream.h>
void ReadText()
{
BOOL end=FALSE;
char p[1024];
int row=0,column=0;
fstream infile("student.txt",ios::in);
if (!infile)
{
return;
}
while (1)
{
// m_ListData.InsertItem(m_ListData.GetItemCount(),NULL,NULL);
for (column=0; column < 3; column++)
{
if (!(infile>>p))
{
end =TRUE;
break;
}
afxDump << p << "\n";
//m_ListData.SetItemText(row,column,p);
}
row++;
if (end==TRUE)
{
break;
}
}
infile.close();
}
每问题的