C++语言之输入输出深入介绍
本文包括:C++基本的输入输出、C++如何输入含空格的字符串、C++输入输出的格式控制。
本文介绍的内容适用于控制台程序,这样才能看到输入与输出的结果,GUI(图形用户界面)的程序就用不上了。
C++基本的输入输出
cin和cout
在C语言中,标准的键盘输入和屏幕输出功能分别使用scanf()和printf()两个函数实现。在C++语言中,类库中提供了输入流类istream和输出流类ostream。cin和cout分别是istream类和ostream类的对象,用来实现基本的键盘输入和屏幕输出。 引入头文件iostream后,就可以使用cin和cout。
cin和cout是 C++ 的内置对象(预定义的流类对象),cin用来处理标准输入,即键盘输入,因此也称cin是标准输入流对象。cout用来处理标准输出即屏幕输出,因此也称cout是标准输出流对象。
<<和>>
从输入流中获取数据的操作称为提取操作,向输出流中添加数据的操作称为插入操作。运算符“>>”和“<<”是移位运算符,但在C++类库中的头文件中已经对“>>”和“<<”进行了重载,使之分别作为流提取运算符和流插入运算符,用来输入和输出C++标准类型的数据。。例如,语句“cin>>x;”从键盘获取输入数据并赋给变量x。使用cin可以获得多个来自键盘的输入值。cout是一个标准输出流对象,使用流插入运算符“<<”向输出设备屏幕输出信息。当程序中用到cin和cout时,需要在程序中包含头文件。
cin的一般格式如下:
cin>> <变量名1>[>> <变量名2> >>…>> <变量名n>];
程序执行到这条语句便暂停下来,等待从键盘上输入相应数据,直到所列出的所有变量均获得值后,程序方继续执行。
cout的一般格式如下:
cout<< <表达式1> [<< <表达式2> <<…<< <表达式n>];
程序执行到这条语句时,将紧跟其后的表达式的值输出到显示器上。
注意,使用cin和cout必须在程序开头增加一行:
# include <iostream.h>
或者两行:
# include <iostream>
using namespace std;
【c++中的#include和using指令(directive)的作用
#include用于包含其他文件的内容,如用来引入对应的头文件。
using namespace std;这个using声明是将std命名空间内的名字,全部暴露在外,只要访问std命名空间内的名字,我们都不需要在cin、cout之前写额外的前缀std::。
更多情况,可参见https://blog.51cto.com/u_15314328/4965070】
下面给出一个例子,贺卡
#include<iostream>
using namespace std;
int main(void)
{
string friendName;
string selfName;
cout<<"请输入朋友的名字:";
cin>>friendName;
cout<<"请输入你的名字:";
cin>>selfName;
cout<<"===================================="<<endl;
cout<<"My dear "<<friendName<<endl;
cout<<" Happy birthday to you!"<<endl;
cout<<" yours, "<<selfName<<endl;
cout<<"===================================="<<endl;
return 0;
}
用Dev-C++编译运行之:
C++如何输入含空格的字符串
cin是C++中最常用的输入,用空格或者回车键分隔数据。如用cin>>str;这种方法来接收字符串那么录入的str不能包含空格,否则它会按照空格将整个字符串切分成若干段。
cin>>a;
cout<<a<<endl; //例如输入“h kj s”,则在a中只有‘h’。
如何输入含有空格字符串呢?
可以使用get()、getline()函数
头文件 <istream> 中get()函数
get 函数是内置在 cin 对象中的,所以可称之为 cin 的一个成员函数。下面仅介绍两种用法,详情可见istream::get - C++ Reference
用法1: cin.get(字符变量名)
可以用来接收字符,示例源码:
#include <iostream>
using namespace std;
main ()
{
char ch;
cout<<"请输入:";
ch=cin.get(); //或者cin.ge