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(); // 关闭文件 }