C++初级问题
刚开始学C++,看到小甲鱼的视频里有一段程序,我在实践时发现后面有一串莫明的数字,还请大神帮忙解释下程序哪里抄得不对,还是什么其他的原因?#include<iostream>
using namespace std;
int main()
{
const int SIZE=50;
char buf;
cout<<"please input a text:";
cin.read(buf,20);
cout<<"the num of the text is:"<<cin.gcount()<<endl;
cout<<cout.write(buf,20);
cout<<endl;
return 0;
}
应该是你输入的时候输入太多导致输入输出流中还残留了一些数据 BngThea 发表于 2018-1-31 17:13
应该是你输入的时候输入太多导致输入输出流中还残留了一些数据
不是输入太多哦。 第7行代码修改成char buf = {'\0'};
试试行不行,如果行麻烦给个最佳回复 fairylee83 发表于 2018-1-31 17:30
不是输入太多哦。
也可能是读取的时候一直需要遇到'\0'才结束输出 EVAN_Yiu 发表于 2018-1-31 17:42
第7行代码修改成char buf = {'\0'};
试试行不行,如果行麻烦给个最佳回复
{:5_96:} 还是不行。 VS 2017cout << cout.write() 报错,直接 cout.write() 就行了吧 FreedomZSX 发表于 2018-2-1 14:40
VS 2017cout
如您所说,cout<<write(buf,20)中的cout去掉,或者把后面的cout<<endl;去掉都可以。
页:
[1]