CStdioFile::ReadString()

liyingzai 2010-03-13 04:50:08
CStdioFile file;
file.Open("F:\\c++\\数据表\\Debug\\list.txt",CFile::modeReadWrite);
CString str="";
int nCol=0;
int iRow=0;
while(file.ReadString(str))
{
if(nCol==0)
{
m_Grid.InsertItem(iRow,str);
}
else
{
m_Grid.SetItemText(iRow,nCol,str);
}
nCol=(++nCol)%5;
if(nCol==0)
iRow++;
}
//关闭文件
file.Close();

运行出现错误!
提示如下:
Debug Assertion Failed!
Program:....ft Visual Studio\MyProject\GLK_Project\Debug\GLK_Project.exe
File:winctrl2.cpp
Line:494
For information on how your program can cause an assertion
failure,see the Visual C++ documentation on asserts
...全文
129 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liyingzai 2010-03-13
  • 打赏
  • 举报
回复
是它自带的类,能改吗?找不到那个函数,我是个新手,我不懂额
arong1234 2010-03-13
  • 打赏
  • 举报
回复
这和文件无关,去掉LVS_OWNERDATA风格即可
[Quote=引用 5 楼 liyingzai 的回复:]
那要怎样才能将list.txt中的内容放入列表框中
[/Quote]
liyingzai 2010-03-13
  • 打赏
  • 举报
回复
那要怎样才能将list.txt中的内容放入列表框中
arong1234 2010-03-13
  • 打赏
  • 举报
回复
从报错看就显然是和文件无关的错误,这是在winctrl2.cpp也就是和windows control有关的错误,为什么怀疑ReadString?

从出错的代码看,它应该是下面标注为494行的那行
从错误看,它要求你这个ListCtrl必须没有LVS_OWNERDATA风格,因为有这种风格的listctrl是一个虚拟的list ctrl,这一般用于有大数据量的list ctrl,这种情况下,listctrl的第i个元素是有专门机制控制的,你不得调用SetItemText指定某个给定序号的item的内容



BOOL CListCtrl::SetItemText(int nItem, int nSubItem, LPCTSTR lpszText)
{
ASSERT(::IsWindow(m_hWnd));
494行: ASSERT((GetStyle() & LVS_OWNERDATA)==0);
LVITEM lvi;
lvi.iSubItem = nSubItem;
lvi.pszText = (LPTSTR) lpszText;
return (BOOL) ::SendMessage(m_hWnd, LVM_SETITEMTEXT, nItem, (LPARAM)&lvi);
}



[Quote=引用楼主 liyingzai 的回复:]
CStdioFile file;
file.Open("F:\\c++\\数据表\\Debug\\list.txt",CFile::modeReadWrite);
CString str="";
int nCol=0;
int iRow=0;
while(file.ReadString(str))
{
if(nCol==0)
{
m_Grid.InsertItem(iRow,st……
[/Quote]
wqvbjhc 2010-03-13
  • 打赏
  • 举报
回复
断点调试,看那一句出错了
liyingzai 2010-03-13
  • 打赏
  • 举报
回复

提示改下:
Debug Assertion Failed!
Program:F:\c++\List\Debug\list.txt
File:winctrl2.cpp
Line:494
For information on how your program can cause an assertion
failure,see the Visual C++ documentation on asserts

liyingzai 2010-03-13
  • 打赏
  • 举报
回复
各位高手帮帮忙

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧