下边会讲解的知识点:
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;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)