C++语言之输入输出深入介绍

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值