搞懂C++输入输出流的原理及使用。

下边会讲解的知识点:

1:关于标准输入输出流使用以及区别
2.流对象的成员函数cin.get(),cin.getline(),cin.put()的使用以及他们的区别
cout:标准输出,可以文件重定向
cerr:标准错误,不能文件重定向
clog:标准错误,可以文件重定向
cin:标准输入
其实cerr、clog、cout都是用于输出,区别就是,如果你将要输出一条错误提示信息
就可以用cerr来输出,准确来说用cerr、clog是为了增加可读性,让标识更明显。

关于流对象常用的处理函数
输出字符:put(), 输入字符:get();
输出字符串:write(),输入字符串:getline();

重点:这里补充一个细节,比如这里是cin.get() ,你可以把cin理解成屏幕的输入,这段代码表示需要你从键盘上输入东西,此时get()表示从键盘输入流中(即你在控制台输入的东西)获取内容。
超级重点:cin是一种标准输入流对象,假如把cin换成一种文件输入流对象, 首先定义文件流对象
(需要头文件#include< fstream> )
fstream file(“1.txt”,ios::in);//ios::in表示以只读的方式打开文件,
(关于文件流的讲解C++文件流讲解(读写文件)
如file.get(),那么这里的get()就会从“1.txt"这个文件里面读取一个字节内容。
cin.getline()同理,只是getline()按行读取.

void testString() {
/*
cin.getline(arrayname,size,s)当遇到s时会结束输入,并把s从缓冲区中删除
cin.get(arrayname,size,s)当遇到s时会结束输入,但不会删除缓冲区中的s*/
	char str[20] = ""; char b;
	cout << "请输入一个字符串:\n";
	cin.getline(str, 20,','); //这样虽然鸡肋,但会更安全
	  //假如输入hello world,   
//自己测试的时候,字符串后边必须有一个,  因为上边要求是以,结尾的
//如果没有,会出错,当然可以自己设置,默认是以'\n'(换行)结尾  
	cin.get(b);
	cout << (int)b;  //那么这里输出的结果是10  。因为'\n'的ASCII码是10
	cout.write(str, 20);
	cout << '\n' << "请输入一个字符:\n";
	char userKey;
	cin.get(userKey);
	//userKey = cin.get(); 一样的效果
	cout.put(userKey);

}
int main(){
	testString();  //上边的那个测试函数
	return 0;
}
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值