9输入输出流

简介: 9输入输出流

C++入门——60s从0到1

输入输出流

C++输入输出流是C++标准库中用于输入和输出数据的工具。使用输入输出流可以方便地进行文件的读写、从标准输入输出设备(如键盘和屏幕)读写数据等操作。

 

基本概念

 

C++输入输出流是基于对象的方式进行输入输出的,其中输入流对象用于从输入设备(如键盘)读取数据,输出流对象用于将数据写入输出设备(如屏幕)。C++标准库中提供了cin、cout、cerr和clog四个输入输出流对象。其中,cin表示标准输入流,cout表示标准输出流,cerr表示错误输出流,clog表示带缓冲的错误输出流。

 

基本用法

 

使用C++输入输出流的基本步骤如下:

 

1. 包含头文件:使用输入输出流需要包含iostream头文件。

 

#include <iostream>

 

2. 创建输入输出流对象:使用输入输出流对象前需要先创建它们。在C++中,可以使用全局函数std::cin、std::cout、std::cerr和std::clog来创建这些对象。

 

std::cin; // 创建标准输入流对象

std::cout; // 创建标准输出流对象

std::cerr; // 创建错误输出流对象

std::clog; // 创建带缓冲的错误输出流对象

 

3. 使用输入输出流读写数据:可以使用输入输出流的成员函数(如operator<<和operator>>)来读写数据。例如,可以使用std::cout的operator<<运算符将数据写入标准输出流,使用std::cin的operator>>运算符从标准输入流中读取数据。

 

int a = 10;

std::cout << "a = " << a << std::endl; // 将a的值写入标准输出流

std::cin >> a; // 从标准输入流中读取一个整数并赋值给a

 

3. 格式化输出

 

C++中的格式化输出是指在输出的数据中添加一些特定的字符或符号,以便更好地呈现数据。C++提供了一些控制符来控制输出的格式。例如,可以用“%d”表示输出一个整数,“%.2f”表示输出一个浮点数并保留两位小数,“%s”表示输出一个字符串等。在使用格式化输出时,可以在operator<<运算符中使用这些控制符来指定输出的格式。

 

int a = 10;

float b = 3.14;

std::cout << "a = " << a << ", b = " << b << std::endl; // 使用逗号分隔两个输出项

std::cout << "a = %d, b = %.2f" << std::endl; // 使用%d和%.2f控制符分别表示整型和浮点数的格式

 

文件操作

 

除了从标准设备读写数据外,C++还提供了对文件的读写操作。可以使用文件流来进行文件的读写操作。C++中的文件流类是fstream,它有三个构造函数:fstream(const char* filename, ios_base::openmode mode),fstream(streambuf* sb, const char* filename, ios_base::openmode mode)和fstream(const fstream& file)。其中,filename表示要打开的文件名,mode表示打开文件的模式,它可以是ios_base::in(只读模式)、ios_base::out(只写模式)、ios_base::app(追加模式)等。例如:

 

#include <fstream> // 包含文件流头文件
using namespace std;
ofstream outfile("example.txt"); // 以只写模式打开example.txt文件并将文件指针指向该文件
if (!outfile) { // 如果打开失败则输出错误信息
    cerr << "无法打开文件example.txt!" << endl;
} else { // 如果打开成功则向文件中写入数据
    outfile << "Hello, world!" << endl;
    outfile.close(); // 关闭文件
}
目录
相关文章
|
5月前
|
算法 C语言 C++
【C++】C++的IO流
【C++】C++的IO流
|
2月前
|
Java
|
存储 编译器 C语言
IO流(C++)
IO流(C++)
63 3
|
5月前
|
安全 C语言 C++
【C++】—— C++的IO流
【C++】—— C++的IO流
|
11月前
|
安全 C语言 C++
C++输入输出流2
C++输入输出流2
29 0
|
安全 编译器 C语言
【C++】IO流
【C++】IO流
70 0
|
iOS开发
C++IO流(2)
C++IO流(2)
|
存储
IO流理解
个人学习理解
42 0
|
算法 编译器 C语言
【C++】IO流(上)
【C++】IO流(上)
【C++】IO流(上)