CString string;
    int item_count = m_list_pic.GetItemCount();///把item_count = m_list_pic.GetItemCount();改成item_count就可以写入文件!!
    CFile file;
    file.Open("hist.dat",CFile::modeCreate|CFile::modeWrite|CFile::typeBinary,0);
    for(int i=0;i<item_count;i++){
        string="123";
        string+="\n";
        file.Write(string,sizeof(string));
    }
    file.Close();

解决方案 »

  1.   

    我是说用getitemcount得到的数目(item_count)放到for循环里头就write没作用.
    如果直接放一个数字,可以是9,放到for循环的中间项,就可以写进文件里。
    这是什么原因?
      

  2.   

    你说
    for(int i=0;i<item_count;i++){
            string="123";
            string+="\n";
            file.Write(string,sizeof(string));
        }
    这样不行
    for(int i=0;i<9;i++){
            string="123";
            string+="\n";
            file.Write(string,sizeof(string));
        }
    这样可以??
      

  3.   

    最有可能的情况是
    m_list_pic.GetItemCount();
    返回的是个负数.
      

  4.   

    我觉得最大的可能是m_list_pic这个对象根本还没生成楼住的这段处理代码可能在类似于初始化的地方