赞
踩
C++中对文件操作需要包含头文件<fstream>
文件类型分为两种:
操作文件的三大类:
ofstream
:写操作ifstream
:读操作fstream
:读写操作写文件步骤如下:
#include <fstream>
ofstream ofs; //创建流对象
ofs.open("文件路径",打开方式);
ofs << "写入的数据";
ofs.close();
文件打开方式:
打开方式 | 解释 |
---|---|
ios::in | 为读文件而打开文件 |
ios::out | 为写文件而打开文件 |
ios::ate | 初始位置:文件为 |
ios::app | 追加方式写文件 |
ios::trunc | 如果文件存在先删除,再创建 |
ios::binary | 二进制方式 |
注意:文件打开方式可以配合使用,利用|
操作符
例如:用二进制方式写文件:ios::binary | ios::out
#include <iostream> using namespace std; #include <fstream> void test() { //1、包含头文件 <fstream> //2、创建流对象 ofstream ofs; //3、指定打开方式 ofs.open("test.txt", ios::out); //4、写内容 ofs << "姓名:张三" << endl; ofs << "性别:男" << endl; ofs << "年龄:18" << endl; //5.关闭文件 ofs.close(); } int main() { test(); return 0; }
总结:
读文件步骤如下:
#include //1、包含头文件
ifstream ifs; //2、创建流对象
ifs.open(“”,); //3、打开文件并判断文件是否打开成功
四种方式读取 //4、读数据
ifs.close(); //5、关闭文件
//文本文件 读文件 void test02() { //1、包含头文件 <fstream> //2、创建流对象 ifstream ifs; //3、打开文件 并且判断是否打开成功 ifs.open("test.txt", ios::in); if( !ifs.is_open() ){ cout << "文件打开失败" << endl; return; } //4、读数据 //第一种 char buf[1024] = { 0 }; while (ifs >> buf) { cout << buf << endl; } //第二种 char buf[1024] = { 0 }; while ( ifs.getline(buf, sizeof(buf)) ) { cout << buf << endl; } //第三种 //使用getline函数需要包含头文件<string> string buf; while (getline(ifs, buf)) { cout << buf << endl; } //第四种 char c; while (c = ifs.get() != EOF) { //单个字符来读 cout << c; } //5、关闭文件 ifs.close(); }
总结:
以二进制方式对文件进行读写操作
打开方式:ios::binary
使用成员函数write来写文件
函数原型:ostream& write(const char * buffer, int len);
参数解释:字符指针buffer指向内存中一段存储空间,len是读写的字节数(所用代码sizeof()
)
使用成员函数read来写文件
函数原型:istream& read(char * buffer, int len);
参数解释:字符指针buffer指向内存中一段存储空间,len是读写的字节数(所用代码sizeof()
)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。