头文件fstream:
#include <iostream> #include <fstream>//C++IO流头文件 using std::cout; using std::endl; using std::cin; int main() { //文本文件读写 //std::ifstream //输入流 //std::ofstream //输出流 //std::fstream //输入输出流 std::fstream file; //打开文件 //file.open(文件名,打开模式); //以下是默认的打开模式,文件不存在则新建文件,文件存在则打开文件不清空写入。 //file.open("2.txt", std::ios::in | std::ios::out); //以下打开模式,文件存在则打开出错,用于读取数据 //file.open("2.txt",std::ios::in); //以下开始模式,文件不存在则新建文件,如果文件存在,则清空原来数据再写入,用以写入数据。 //file.open("2.txt",std::ios::out); file.open("2.txt", std::ios::in | std::ios::out); if (!file.is_open()) { file.close(); cout << "文件打开失败!" << endl; } char buffer[1024] = { 0 }; //第一种读文件方式 //file >> buffer; //第二种读取文件方式 //file.getline(buffer, 1024); //写入文件方式 //file << "你好\n"; file.close(); return 0; }
#include <iostream> #include <fstream> using std::cout; using std::endl; using std::cin; int main() { //二进制文件读写 //fstream模式下,file对象能输入也能输出 std::fstream binFile; binFile.open("3.txt", std::ios::binary | std::ios::in | std::ios::out); if (!binFile.is_open()) { binFile.close(); cout << "打开文件失败!" << endl; } //写入文件方式 int arr[10] = { 1,2,3,4,5 }; binFile.write((char *)arr, sizeof(int) * 10); //读取文件方式 int buffer[10]; //std::ios::cur 当前位置 //std::ios::beg 起点位置 //std::ios::end 终点位置 binFile.read((char *)buffer, sizeof(int) * 10); //当前位置往后(往前)偏移8个字节 binFile.seekg(-8 * (int)sizeof(int), std::ios::cur); binFile.read((char *)buffer, sizeof(int) * 5); //tellg获取当前流指针的位置 int pos = binFile.tellg(); //eof为true表示已经到文件末尾 binFile.eof(); //关闭文件 binFile.close(); return 0; }