none
函数中写文件成功了 可为什么被写的文件显示0字节 RRS feed

  • 问题

  • 大家好!一下是我的一个输出词典函数.在主函数中调用print_dic()后,运行成功,输出了over.可检查E盘中的cidian.txt文件,却发现什么也没写进去.为什么呢?高手请不吝赐教  谢谢了

    void Dic::print_dic()
    {
        ofstream outfile;
     outfile.open("E:\paser2\cidian.txt",ios::out);
        for(int i=0;i<=10;i++)
     {
           vector<Snode *> s_pointer;
           vector<Node *> n_pointer;
        int j=0;
           Fnode *pfnode=&fnodes[i];
           Snode *psnode=0;
        Node *pnode=0;
      
           psnode=pfnode->snode[0];
        while(j<S_MAX)
      { 
       psnode=pfnode->snode[j++];
       if(psnode!=NULL)
       {
                  s_pointer.push_back(psnode);//将词首字对应的词次字地址添加到容器中
                  pnode=psnode->next;
                  while(pnode!=NULL)
         {
          n_pointer.push_back(pnode);//将词次字对应的词语剩下部分的地址添加到容器中
          pnode=pnode->next;
       
         }
       }
      }
         //输出以fnodes[i]中存储字为首字的所有词语
         outfile<<pfnode->value;
      if(s_pointer.size())
      {
        vector<Snode *>::iterator s_beg =s_pointer.begin();
        vector<Snode *>::iterator s_end =s_pointer.end(); 
        while (s_beg != s_end)
           {
             outfile<<(*s_beg)->value;
             vector<Node *>::iterator n_beg =n_pointer.begin();
          vector<Node *>::iterator n_end =n_pointer.end();
             if(n_pointer.size())
       {
        while (n_beg != n_end)
         {
          outfile<<(*n_beg)->value<<" ";  n_beg++;
         }
       }
       outfile<<endl;
             s_beg++;
           }
      }

        
     }
       outfile.close();
       cout<<"over";
    }

    2010年8月26日 3:09

答案

全部回复