学习C++:输入输出流cout与cin

举报
AI 菌 发表于 2021/08/05 00:25:39 2021/08/05
【摘要】 1.重要的C++流类和流对象 std命名空间中常用的C++流类 cout 标准输出流 cin 标准输入流 cerr 用于显示错误的标准输出流 fstream 用于操作文件的输入和输出流,继承了ofstream和ifstream ofstream 用于操作文件的输出流类,即用于创建文件 ifstream 用于操作文件的输入流类,即用于读取文件 stringstream ...

1.重要的C++流类和流对象

std命名空间中常用的C++流类
cout 标准输出流
cin 标准输入流
cerr 用于显示错误的标准输出流
fstream 用于操作文件的输入和输出流,继承了ofstream和ifstream
ofstream 用于操作文件的输出流类,即用于创建文件
ifstream 用于操作文件的输入流类,即用于读取文件
stringstream 用于字符串的输入和输出流类,继承了istringstream和ostringstream,通常用于在字符串和其他类型之间进行转换

std命名空间中常用于流的控制符
endl 插入一个换行符
ends 插入一个空字符
dec 让流以十进制输入或者输出
hex 十六进制
oct 八进制
fixed 以定点表示法显示数据
scientific 以科学表示法显示数据
setprecision 设置小数精度
setw 设置字段宽度
setfill 设置填充字符

2.cout的常见用法

使用cout和控制符以十进制、十六进制和八进制格式显示整数:

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
	cout<<"输入一个整数:"int Input = 0;
	cin>>Input;
	cout<<"八进制显示:"<<oct<<Input<<endl;
	cout<<"十六进制显示:"<<hex<<Input<<endl; const double Pi=(double)22.0/7;
	cout<<setprecision(7);//设置小数精度为7
	cout<<"Pi="<<Pi<<endl;
	cout<<fixed<<"Fixed Pi="<<Pi<<endl;
	cout<<scientific<<"Scientific Pi="<<Pi<<endl; //科学计数法表示
	return 0;
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

下面演示使用控制符setw()设置字段宽度,并使用setfill()指定填充字符:

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
	cout<<"Hello C++"<<endl;
	cout<<setw(20); //20个空格
	cout<<"Hello C++";
	cout<<setw(20)<<setfill('*'); //20个空格,并用符号*填充
	cout<<"Hello C++"<<endl;
	return 0;
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

3.使用cin进行输入

使用cin能将输入读取到基本类型变量中,还可以使用getline()从键盘读取一行输入。下面程序演示了cin作为标准输入流的4种常用用法:

#include <iostream>
using namespace std;

int main()
{
 //1.使用cin将输入读取到int、double和char变量中
  cout<<"输入一个整数:";
  int Input=0;
  cin>>Input;
  cout<<"依次输入三个字符:"<<endl;
  char char1='\0', char2='\0', char3='\0';
  cin>>char1>>char2>>char3;
 //2.使用cin.get()将输入读取到char数组中(不推荐使用)
  char charArray[10]={0};
  cout<<"输入一个字符串: ";
  cin.get(charArray, 9);  //只将输入字符串的前9个字符读取到charArray
  cout<<"charArray: "<<charArray<<endl;
 //3.使用cin将输入读取到string中(推荐使用,避免了考虑字符数组存不存的下的问题)
  cout<<"输入你的名字:";
  string Name;
  cin>>Name;  //注意:输入一旦遇到空白(空格)后停止插入
  cout<<"Hello "<<Name<<endl;
 //4.使用getline()和cin读取整行输入
  cout<<"输入你的名字:";
  string Name;
  getline(cin, Name);  //使用getline()可以确保不跳过空白字符,输出整行
  cout<<"Hello "<<Name<<endl;
  return 0;
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

文章来源: ai-wx.blog.csdn.net,作者:AI 菌,版权归原作者所有,如需转载,请联系作者。

原文链接:ai-wx.blog.csdn.net/article/details/104301129

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。