文件操作
文件操作
文件类型分为两种:
- 文本文件 - 文件以文本的ASCII码形式存储在计算机中
- 二进制文件 - 文件以文本的二进制形式存储在计算机中
操作文件的三大类:
- ofstream:写操作
- ifstream: 读操作
- fstream : 读写操作
文件打开方式:
打开方式 解释 ios::in 为读文件而打开文件 ios::out 为写文件而打开文件 ios::ate 初始位置:文件尾 ios::app 追加方式写文件 ios::trunc 如果文件存在先删除,再创建 ios::binary 二进制方式 注意: 文件打开方式可以配合使用,利用|操作符
例如:用二进制方式写文件
ios::binary | ios:: out
文本文件
写文件:
void main() { ofstream ofs; ofs.open("test.txt", ios::out); //以输出的方式打开文件 ofs << "CLANNAD" << endl; //使用输出运算符<<向文件中输入数据 ofs.close(); }
读文件:
void test01() { ifstream ifs; ifs.open("test.txt", ios::in); if (!ifs.is_open()){ //使用is_open()判断是否打开成功 std::cout << "文件打开失败" << std::endl; return; } //char buf[1024] = { 0 }; //while (ifs >> buf){ // std::cout << buf << std::endl; //} //char buf[1024] = { 0 }; //while (ifs.getline(buf,sizeof(buf))){ // std::cout << buf << std::endl; //} //string buf; //while (getline(ifs, buf)){ // std::cout << buf << std::endl; //} char c; while ((c = ifs.get()) != EOF){ std::cout << c; } ifs.close(); }
二进制文件
写文件:
函数原型 :
ostream& write(const char * buffer,int len);
参数解释:字符指针buffer指向内存中一段存储空间。len是读写的字节数
读文件:
函数原型:
istream& read(char *buffer,int len);
参数解释:字符指针buffer指向内存中一段存储空间。len是读写的字节数