一文彻底搞懂C++输入输出流的原理及使用。

一文彻底搞懂C++输入输出流的原理及使用。,第1张

下边会讲解的知识点:

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;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/718036.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存