bug:
thow应改为throw
15分应改为20分
(呵呵,见笑了)

解决方案 »

  1.   

    你好,我觉得你的精神很可贵,给不给分我认为是次要的,相反我觉得自己很惭愧,你别叫我大虾,叫我龙虾好了也是一盘菜。我昨天的回答确实有点马虎,请原谅,希望我今天的回答能使你满意;cout<<"type an int,a float and a string:";
    int i;
    float f;
    cin>>i>>f;
    // 忽略空格、TAB、换行符,从控制台输入字符串,并
    // 获得该字符串指针,因为它调用的是eatwhite()函数
    // 调用cin>>ws之前的字符将被忽略,当输入字符后遇到换行符就被认为结束
    cin>>ws;
    char buf[SZ];
    // 将给字符串送入缓冲区
    cin.getline(buf,SZ);
    //这只是类的构造器,并不向屏幕输出字符
    // buf--一个字符数组,用于将来的输出流
    // SZ--buf的大小.如果为0,buf被假设为指向空结尾的数组;如果小于0,buf被假设为无限长
    // ios::app--buf被假设为空结尾的数组
    ostrstream os(buf,SZ,ios::app);
    // 向流缓冲送入换行符
    os<<endl;
    os<<"integer="<<i<<endl;
    os<<"float="<<f<<endl;
    os<<ends;
    // 因为buf已经作为流缓冲,所以这些操作
    //os<<endl;
    //os<<"integer="<<i<<endl;
    //os<<"float="<<f<<endl;
    //os<<ends;
    // 同时也输入到buf中了,也就是说如果你去掉这行只能显示一遍
    cout<<buf;
    //后面一行输出的内容等同于cout<<buf;都是将流缓冲buf输出到屏幕
    cout<<os.rdbuf();
    cout<<os.rdbuf();
    }
      

  2.   

    witsoft2000(witsoft2000):
        既然你说叫你龙虾,小弟就恭敬不如从命,以示同其他大虾的区别,以后若有龙虾之称,便是与大虾你招呼是也。
        我乃道地菜鸟,初上csdn便遇高手相助,对吾之问题,不辞烦劳,仔细讲解。高兴之余,实感庆幸。只怪我悟性太低,烦扰之处,还请见谅。
        我对c++,知智,悟性皆平庸,谈及恐怡笑大方,唯剩执著稍安吾心。该程序困扰我多日,心中早已烦躁不安,加之周围无人与我同道,孤军奋战,甚感艰辛。
        感谢你接连两次回答该问题,我在此谢过了。这对我是种极大的鼓励,使我去除烦躁,又能平静的学习c++。
        (该书的许多函数以前未接触过,而只有接触过,才有机会去理解它,掌握它。另因流量,只好省着写)(注:hello world 其实是指第二行的,我看不出有那一句将其向屏幕输出。谢谢)
      

  3.   

    天哪,你这人怎么这么酸,I faint
      

  4.   

    输入完后buf中已经包含了hello world,integer=1,float=1.1
      

  5.   

    只要有cout<<的就是向屏幕输出