C++输入输出流
一、cin、cout使用方法
std是一个命名空间(namespace),‘::’是作用域运算符,cin和cout是std空间中的一个函数名。
一般情况下使用cin与cout需要写为 std::cout。
std::cout << "Input numbers:";
但如果在在主函数前加上
using namespace std;
那么在后面就可以直接使用cin和cout:
如:
cout << "Input two numbers:";
二、输入流cin介绍
1、输入int型数字
cin会过滤掉不可见字符(空格 回车,TAB 等)
#include <iostream>
using namespace std;
int main ()
{
int a,b;
cin>>a>>b;
}
2、输入char型数字
接受一个字符串(遇“空格”、“TAB”、“回车”都会结束)
#include <iostream>
using namespace std;
main ()
{
char a[20];
cin>>a;
}
3、cin.get()
cin.get()有两种用法
- (1)接收字符
#include <iostream>
using namespace std;
main ()
{
char ch;
ch=cin.get();
}
- (2)接受字符串,可以接收空格遇到回车结束
#include <iostream>
using namespace std;
main ()
{
char a[20];
cin.get(a,20);
}
cin.getline()与此方法相似
4、getline(cin,str)
getline()在string库函数下,可以接收空格,使用时需加上#include< string >。
getline(istream is,string str,结束符)。
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cout << "请输入string内容:" << endl;
getline(cin, str); //两个参数时,输入回车才会结束输入
//getline(cin, str, 'a'); 当第三个参数为a时,输入a后便会终止输入数据
}
三、输出流cout介绍
- 用cout输出基本类型的数据时,不必考虑数据是什么类型,系统会判断数据的类型。
- cout在内存中对应开辟了一个缓冲区,用来存放流中的数据,当向cout流插入一个endl时,不论缓冲区是否已满,都立即输出流中所有数据,然后插入一个换行符, 并刷新流(清空缓冲区)。注意如果插入一个换行符”\n“(如cout<<a<<"\n"),则只输出和换行,而不刷新cout 流。