言君裴 发表于 2015-3-28 10:36:20

关于C++视频第三讲的一个问题

#include <iostream>

using namespace std;

int main()
{
        const int SIZE = 50;
        char buf;

        cout << "请输入一段文本:\n";
        cin.read( buf , 20 );

        cout << "字符串收集到的字符数为:"
               << cin.gcount()<<endl;      
       

        cout << "输入的文本信息是:"<<cout.write( buf , 20 );
        cout<<endl;
        return 0;
}
为什么这里如果是cout << "输入的文本信息是:"<<cout.write( buf , 20 );
cout<<endl;
return 0;
的话,得到的结果就会很奇怪?

ANDES 发表于 2015-3-28 17:37:07

肯定怪怪的,你都不了解cout.write( buf , 20 );。慢慢学吧。下面是我调好的代码,或许还有更好的办法,我也不怎么懂C++。

#include <iostream>

using namespace std;

int main()
{
      const int SIZE = 50;
      char buf;
                int i;

      cout << "请输入一段文本:\n";
      cin.read( buf , 20 );

      cout << "字符串收集到的字符数为:"
               << cin.gcount()<<endl;      
      

         cout << "输入的文本信息是:";
               for(i=0;i<20;i++)
               {
               cout<<buf;
               }
               cout <<endl;
      return 0;
}
页: [1]
查看完整版本: 关于C++视频第三讲的一个问题