一、文件编程
1、基本概念
文件编程涉及使用操作系统提供的接口对文件进行读写操作。它包括文件的打开、关闭、读取、写入和文件的状态管理。在C++中,文件是通过流(stream)进行操作的。流是一种抽象,用于处理数据的输入输出。
2、C++中的文件操作
fstream
库
fstream
是C++标准库中的一个头文件,它提供了与文件交互的功能,包括读写文件。它包含三个主要的类:
ifstream
:用于文件输入(读取)。ofstream
:用于文件输出(写入)。fstream
:同时支持文件读写。
打开文件:通过open()
方法打开文件,或者直接在构造时指定文件名。例如:
std::ifstream inFile("example.txt"); // 打开文件进行读取
std::ofstream outFile("output.txt"); // 打开文件进行写入
3、基本文件操作
- 读取文件: 使用
ifstream
类来读取文件,可以按行读取或者按字符读取。std::ifstream inFile("example.txt"); std::string line; while (std::getline(inFile, line)) { std::cout << line << std::endl; }
- 写入文件: 使用
ofstream
类来写入文件。可以使用<<
操作符向文件写入数据。std::ofstream outFile("output.txt"); outFile << "Hello, World!" << std::endl;
4、文件操作的模式
文件打开时可以指定不同的模式来控制文件操作:
std::ios::in
:以读取模式打开文件。std::ios::out
:以写入模式打开文件。std::ios::app
:以追加模式打开文件(将新内容追加到文件末尾)。std::ios::ate
:文件打开时直接定位到文件末尾。std::ios::binary
:以二进制模式打开文件(默认是文本模式)。
示例:
std::ofstream outFile("data.bin", std::ios::binary);
5. 文件操作中的常见错误处理
- 检查文件是否成功打开: 在进行任何文件操作前,需要检查文件是否成功打开。
std::ifstream inFile("example.txt"); if (!inFile.is_open()) { std::cerr << "Failed to open file!" << std::endl; return 1; }
- 检查文件读写错误: 通过
fail()
方法检查文件操作是否成功。if (outFile.fail()) { std::cerr << "Write failed!" << std::endl; }
6. 关闭文件
- 在操作完文件后,必须关闭文件,释放资源。
inFile.close(); outFile.close();
二、网络编程
1、网络编程概述
(1)什么是网络编程?
网络编程是通过计算机网络进行数据交换和通信的编程过程。它允许不同设备或应用程序之间通过网络进行信息传递。
(2)客户端-服务器模型:
介绍网络编程中的基本模型,客户端与服务器的关系,以及如何通过网络实现通信。
(3)协议:
TCP/IP协议:最常用的网络通信协议,保证数据传输的可靠性。
UDP协议:无连接协议,相比TCP更快速,但不保证数据的可靠性。
2、C++中的网络编程基础
1、套接字(Socket):
套接字是计算机网络通信的基础,通过套接字,应用程序能够进行数据的发送和接收。
2、网络通信的步骤:
- 创建套接字
- 绑定套接字
- 监听套接字
- 接受连接(服务器端)
- 连接到服务器(客户端)
- 数据发送与接收
- 关闭连接
3、TCP和UDP的区别
1、TCP(Transmission Control Protocol):
- 面向连接、可靠的协议
- 提供数据完整性检查和流量控制
- 适合要求高可靠性的数据传输,如Web浏览器、文件传输等。
2、UDP(User Datagram Protocol):
- 无连接、不可靠的协议
- 数据传输速度快,但不保证数据的完整性和顺序
- 适合实时应用,如视频流、在线游戏等。