searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

C++ 输入输出

2024-05-20 03:02:38
7
0

前言

在C++的标准库中,将用于进行数据输入输出的类统称为”流类“。cin是流类istream的对象,cout是流类ostream的对象。要使用流类,需要在程序中包含iostream头文件。

在C++中,输入流和输出流是通过流对象来表示的,主要包括以下几种类:

std::ifstream:用于从文件读取数据的输入流类。
std::istringstream:用于从字符串读取数据的输入流类。
std::cin:标准输入流,用于从键盘读取数据。
std::ofstream:用于向文件写入数据的输出流类。
std::ostringstream:用于将数据写入字符串的输出流类。
std::cout:标准输出流,用于将数据输出到屏幕

标准流对象

iostream头文件中定义了四个标准流对象,它们是cin、cout、cerr和clog。

cin对应于标准输入流,用于从键盘读取数据,也可以被重定向为从文件中读取数据。

cout对应于标准输出流,用于向屏幕输出数据,也可以被重定向为向文件写入数据。

clog对应于标准错误输出流,用于向屏幕输出错误信息,不能被重定向。

cerr和clog的区别在于:cerr不适用缓冲区,直接向显示器输出信息;而输出到clog中的信息会先被存放到缓冲区,缓冲区满或者刷新时才输出到屏幕。

ostream类的无参构造函数和复制构造函数都是私有的,因此在程序中一般无法定义ostream类的对象,唯一能用的ostream类的对象就是cout。

cout可以被重定向,而cerr不能。所谓重定向,就是将输入的源或输出的目的地改变。例如,cout本来是输出到屏幕的,但是经过重定向,本该输出到屏幕上的东西就可以被输出到文件中。

 

使用输入流时,我们可以使用相应的输入流对象来读取数据,如 >> 运算符从输入流中提取数据到变量中。

使用输出流时,我们可以使用相应的输出流对象来将数据写入到流中,如 << 运算符将数据从变量输出到输出流中。

 

文件处理

三个基本步骤:

  1. 打开文件
  2. 读/写文件
  3. 关闭文件

文件打开方式

标识常量    意义
ios::in    读方式打开文件
ios::out    写方式打开文件
ios::ate    打开文件时,文件指针指向文件末尾
ios::app    追加方式,将向文件中输出的内容追加到文件尾部
ios::trunc**    删除文件现有内容**
ios::nocreate    如果文件不存在,则打开操作失败
ios::noreplace    如果文件存在,则打开操作失败
ios::binary    以二进制代码方式打开,默认为文本方式

 

格式化控制

头文件 #include<iomanip>

默认
域宽确定;
输出精度,浮点型有效位6位,
右对齐,无填充。

setw(val)


对象>>setw(val)>>a    指定输入的域宽,从对象读出时最多只提取val位
对象<<setw(val)<<a    指定输出的域宽,a在对象中的存在至少占val位,超过不截断
只对相邻的一项有效

setprecision(val)

对象<<setprecision(val)<<a    指定输出的有效位数,指定的太大则规定失效
对指定之后的所有数据生效

setiosflags(状态标志)

ios::left    左对齐,右边填充空格
ios::right    右对齐,左边填充空格,默认
ios::fixed    以定点形式输出浮点数
ios::scientific    以科学计数法输出浮点数
ios::dec    随后输出的所有整数为十进制
ios::hex    随后输出的所有整数为十六进制
ios::oct    随后输出的所有整数为八进制
ios::showpoint    输出小数点和尾部的零
ios::showpos    输出正数前的+
ios::uppercase    十六进制使用大写字母输出

 

0条评论
0 / 1000
刘****成
3文章数
0粉丝数
刘****成
3 文章 | 0 粉丝
刘****成
3文章数
0粉丝数
刘****成
3 文章 | 0 粉丝
原创

C++ 输入输出

2024-05-20 03:02:38
7
0

前言

在C++的标准库中,将用于进行数据输入输出的类统称为”流类“。cin是流类istream的对象,cout是流类ostream的对象。要使用流类,需要在程序中包含iostream头文件。

在C++中,输入流和输出流是通过流对象来表示的,主要包括以下几种类:

std::ifstream:用于从文件读取数据的输入流类。
std::istringstream:用于从字符串读取数据的输入流类。
std::cin:标准输入流,用于从键盘读取数据。
std::ofstream:用于向文件写入数据的输出流类。
std::ostringstream:用于将数据写入字符串的输出流类。
std::cout:标准输出流,用于将数据输出到屏幕

标准流对象

iostream头文件中定义了四个标准流对象,它们是cin、cout、cerr和clog。

cin对应于标准输入流,用于从键盘读取数据,也可以被重定向为从文件中读取数据。

cout对应于标准输出流,用于向屏幕输出数据,也可以被重定向为向文件写入数据。

clog对应于标准错误输出流,用于向屏幕输出错误信息,不能被重定向。

cerr和clog的区别在于:cerr不适用缓冲区,直接向显示器输出信息;而输出到clog中的信息会先被存放到缓冲区,缓冲区满或者刷新时才输出到屏幕。

ostream类的无参构造函数和复制构造函数都是私有的,因此在程序中一般无法定义ostream类的对象,唯一能用的ostream类的对象就是cout。

cout可以被重定向,而cerr不能。所谓重定向,就是将输入的源或输出的目的地改变。例如,cout本来是输出到屏幕的,但是经过重定向,本该输出到屏幕上的东西就可以被输出到文件中。

 

使用输入流时,我们可以使用相应的输入流对象来读取数据,如 >> 运算符从输入流中提取数据到变量中。

使用输出流时,我们可以使用相应的输出流对象来将数据写入到流中,如 << 运算符将数据从变量输出到输出流中。

 

文件处理

三个基本步骤:

  1. 打开文件
  2. 读/写文件
  3. 关闭文件

文件打开方式

标识常量    意义
ios::in    读方式打开文件
ios::out    写方式打开文件
ios::ate    打开文件时,文件指针指向文件末尾
ios::app    追加方式,将向文件中输出的内容追加到文件尾部
ios::trunc**    删除文件现有内容**
ios::nocreate    如果文件不存在,则打开操作失败
ios::noreplace    如果文件存在,则打开操作失败
ios::binary    以二进制代码方式打开,默认为文本方式

 

格式化控制

头文件 #include<iomanip>

默认
域宽确定;
输出精度,浮点型有效位6位,
右对齐,无填充。

setw(val)


对象>>setw(val)>>a    指定输入的域宽,从对象读出时最多只提取val位
对象<<setw(val)<<a    指定输出的域宽,a在对象中的存在至少占val位,超过不截断
只对相邻的一项有效

setprecision(val)

对象<<setprecision(val)<<a    指定输出的有效位数,指定的太大则规定失效
对指定之后的所有数据生效

setiosflags(状态标志)

ios::left    左对齐,右边填充空格
ios::right    右对齐,左边填充空格,默认
ios::fixed    以定点形式输出浮点数
ios::scientific    以科学计数法输出浮点数
ios::dec    随后输出的所有整数为十进制
ios::hex    随后输出的所有整数为十六进制
ios::oct    随后输出的所有整数为八进制
ios::showpoint    输出小数点和尾部的零
ios::showpos    输出正数前的+
ios::uppercase    十六进制使用大写字母输出

 

文章来自个人专栏
GPU
3 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0