24小时热门版块排行榜    

查看: 1341  |  回复: 10
本帖产生 1 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

xiaowu787

木虫 (正式写手)

[交流] 【求助】程序运行但没达到目的? 已有4人参与

想写个程序处理一个数据文件,数据每隔四行重复一次,希望把数据分成四组(1,5,9...)(2,6,10...)(3,7,11...)(4,8,12...)(行号)分别放在四个文件中,写了如下代码,运行后发现没有实现预期结果 ,请帮忙看哪里出问题了,谢谢!

#include
#include
using namespace std;
int main()
{
  void write();
  write();
  return 0;
}
//
void write()
{
  int i;
  char ch[100];
  ifstream read("re.dat",ios::in);
  for(i=0;i<8;i++)
    {
     if(i%4==0) read.getline(ch,100);
     ofstream write1("out1.dat",ios::app);
     write1<      cout<<'\n';
     if(i%4==1) read.getline(ch,100);
     ofstream write2("out2.dat",ios::app);
     write2<      cout<<'\n';
     if(i%4==3) read.getline(ch,100);
     ofstream write3("out3.dat",ios::app);
     write3<      cout<<'\n';
    }
}

[ Last edited by xiaowu787 on 2010-9-25 at 22:02 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaowu787

木虫 (正式写手)

引用回帖:
Originally posted by magic7004 at 2010-09-26 16:48:28:


看那个编译错误的提示,估计是ofstream那个数组的问题吧。改成ofstream*的数组试试看呢。

#include
#include
[color= ...

再次谢谢,修改的程序在linux下可以正常运行了,我看的不大明白,为什么改成指针就可以了,能否告知一下其中的缘由?

[ Last edited by xiaowu787 on 2010-9-27 at 14:39 ]
9楼2010-09-27 14:33:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

magic7004

金虫 (职业作家)


小木虫(金币+0.5):给个红包,谢谢回帖交流
xiaowu787(金币+3):谢谢你详细的分析 2010-09-26 10:08:35
#include
#include
using namespace std;
int main()
{
  void write();
  write();
  return 0;
}
//
void write()
{
  int i;
  char ch[100];
  ifstream read("re.dat",ios::in);
  for(i=0;i<8;i++)
    {
     if(i%4==0) {//这里应该有大括号
read.getline(ch,100);
     ofstream write1("out1.dat",ios::app);
     write1<      cout<<'\n';//这个cout应该是write1吧。另外如果是文本文件的话,换行要用"\r\n"
     }这里也应该有大括号,下面几个if也一样,要加大括号。
     if(i%4==1) read.getline(ch,100);
     ofstream write2("out2.dat",ios::app);
     write2<      cout<<'\n';
//i%4==2貌似漏掉了?
     if(i%4==3) read.getline(ch,100);
     ofstream write3("out3.dat",ios::app);
     write3<      cout<<'\n';
    }
}

[ Last edited by magic7004 on 2010-9-26 at 09:17 ]
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
2楼2010-09-26 09:15:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)


小木虫(金币+0.5):给个红包,谢谢回帖交流
xiaowu787(金币+2):谢谢您的热心帮助 2010-09-26 10:09:02
帮楼主写了个,这个可以一直读到文件尾。如果不是文本文件,就把"\r\n"改成'\n'

#include
#include
using namespace std;
int main()
{
        void write();
        write();
        return 0;
}
//
void write()
{
        int i=0;
        char ch[100];
        ifstream read("re.txt",ios::in);
        ofstream write[]={ofstream("out1.txt",ios::app),
                ofstream("out2.txt",ios::app),
                ofstream("out3.txt",ios::app),
                ofstream("out4.txt",ios::app)};
        while(read.getline(ch,100))
        {
                write[(i++)%4]<//如果不是文本文件,把"\r\n"改成'\n'
        }
}

[ Last edited by magic7004 on 2010-9-26 at 09:25 ]
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
3楼2010-09-26 09:20:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaowu787

木虫 (正式写手)

引用回帖:
Originally posted by magic7004 at 2010-09-26 09:20:00:
帮楼主写了个,这个可以一直读到文件尾。如果不是文本文件,就把"\r\n"改成'\n'

#include
#include
[color=#00 ...

编译的时候提示错误:您看看哪里有问题吧,谢谢!
[u06@pc07 C]$ c++ -o data2 data2.cpp
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/ios_base.h: In copy constructor ‘std::basic_ios >::basic_ios(const std::basic_ios >&’:
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/ios_base.h:779: 错误:‘std::ios_base::ios_base(const std::ios_base&’ 是私有的
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/iosfwd:55: 错误:在此上下文中
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/iosfwd: In copy constructor ‘std::basic_ofstream >::basic_ofstream(const std::basic_ofstream >&’:
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/iosfwd:92: 附注:在这里第一次需要生成的方法 ‘std::basic_ios >::basic_ios(const std::basic_ios >&
5楼2010-09-26 11:58:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 jPDp0sc2B7zQ 2026-09-05 6/300 2026-09-06 18:21 by eObJPa4gWmp6
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 jPDp0sc2B7zQ 2026-09-05 4/200 2026-09-06 18:09 by eObJPa4gWmp6
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 jPDp0sc2B7zQ 2026-09-05 6/300 2026-09-06 17:21 by eObJPa4gWmp6
[教师之家] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 jPDp0sc2B7zQ 2026-09-05 9/450 2026-09-06 17:09 by eObJPa4gWmp6
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 jPDp0sc2B7zQ 2026-09-04 8/400 2026-09-06 17:09 by eObJPa4gWmp6
[博后之家] 广西大学-广州大学招聘博士后 欢迎广大优秀人才!!! +5 SCSIOyxguo 2026-09-03 8/400 2026-09-06 15:06 by 可爱小花朵
[教师之家] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 j5mmowWXNWxv 2026-09-05 3/150 2026-09-06 13:09 by eObJPa4gWmp6
[考博] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 j5mmowWXNWxv 2026-09-05 4/200 2026-09-06 12:49 by eObJPa4gWmp6
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 j5mmowWXNWxv 2026-09-05 3/150 2026-09-06 12:49 by eObJPa4gWmp6
[考博] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 j5mmowWXNWxv 2026-09-05 4/200 2026-09-06 12:29 by eObJPa4gWmp6
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 jPDp0sc2B7zQ 2026-09-05 7/350 2026-09-06 11:20 by eObJPa4gWmp6
[基金申请] 科研人应该花精力去思考如何解决问题,而不是去凝练问题 +10 瞬息宇宙 2026-09-01 19/950 2026-09-06 11:15 by jiangxuan2004
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 jPDp0sc2B7zQ 2026-09-05 8/400 2026-09-06 11:09 by eObJPa4gWmp6
[论文投稿] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 jPDp0sc2B7zQ 2026-09-04 8/400 2026-09-06 11:00 by eObJPa4gWmp6
[考研] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 jPDp0sc2B7zQ 2026-09-05 4/200 2026-09-06 07:20 by E1iiBLMU2XnD
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +6 7ZYIEW2YWn72 2026-09-04 9/450 2026-09-06 06:00 by E1iiBLMU2XnD
[教师之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +8 CRJ0Aq2FtVH0 2026-09-03 15/750 2026-09-06 05:48 by E1iiBLMU2XnD
[硕博家园] Ei源刊怎么投 +4 Fengshun9711 2026-09-04 4/200 2026-09-04 19:30 by 研途知予
[硕博家园] 哈尔滨工业大学韩晓军教授课题组招收2027年硕士推免生及博士研究生 +3 灯灯灯灯DDDD 2026-09-03 3/150 2026-09-03 21:22 by 科研皮皮猪
[基金申请] 要骂人了,新模版改版就是要淡化问题凝练这种虚的东西,结果有个评委还在说凝练得不够 +9 瞬息宇宙 2026-08-31 17/850 2026-09-02 14:04 by anjeeshine
信息提示
请填处理意见