如何高效运用C语言进行复杂文件操作?

2026-04-12 00:301阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1386个文字,预计阅读时间需要6分钟。

如何高效运用C语言进行复杂文件操作?

一、文件操作+文件操作头文件:#include 操作文件的三种流:

1.ofstream:写操作

2.ifstream:读操作

3.fstream:读写操作

1.文本文件+写文件+步骤:

1. 包含头文件 2. 创建ofstream对象 3. 打开文件 4. 写入数据 5. 关闭文件

一、文件操作

文件操作头文件:<fstream>

操作文件的三大流:

1、ofstream:写操作

2、ifstream:读操作

3、fstream:读写操作


1、文本文件

写文件

步骤:

1、包含头文件:#include<fstream>

2、创建流对象:ofstream ofs;

3、打开文件:ofs.open("文件路径",打开方式);

4、写数据:ofs<<"写入的数据"

5、关闭文件:ofs.close();


文件打开方式:

打开方式

解释

ios::in

为读文件而打开文件

ios::out

为写文件而打开文件

ios::ate

初始位置:文件尾

ios::app

追加方式写文件

ios::trunc

如果文件存在先删除,再创建

ios::binary

二进制方式

如何高效运用C语言进行复杂文件操作?

注意:文件的打开方式可以配合使用,用 | (或)操作符

例如:用二进制方式写文件

ios::binary | ios::out


示例:

#include<fstream> //1、包含头文件 void wfile() { //2、流对象 ofstream ofs; //3、打开文件 ofs.open("test.txt",ios::out); //4、写文件 ofs << "大鹏一日同风起" << endl; ofs << "扶摇直上九万里" << endl; ofs << "有约不来过夜半" << endl; ofs << "闲敲棋子落灯花" << endl; //关闭文件 ofs.close(); } int main() { wfile(); system("pause"); return 0; }


读文件:

步骤:

1、包含头文件:#include<fstream>

2、创建流对象:ifstream ifs;

3、打开文件并判断是否成功打开:ifs.open("文件路径",打开方式);

4、读数据:四种方式读取

5、关闭文件:ifs.close();


四种读取方式:

不推荐使用第四种,其余的可根据个人喜好使用,个人推荐第三种~


示例:

#include<fstream> //1、包含头文件 #include <string> void rfile() { //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; //} //第三种 string Buf; while (getline(ifs,Buf)) { cout << Buf << endl; } ////第四种 //char c; //while ((c = ifs.get()) != EOF) { // cout << c; //} //关闭文件 ifs.close(); } int main() { rfile(); system("pause"); return 0; }


2、二进制文件

打开方式指定为:ios::binary


写文件:

二进制方式写文件主要利用流对象调用成员函数write

函数原型 :ostream& write(const char * buffer,int len);

参数解释:字符指针buffer指向内存中一段存储空间。len是读写的字节数


示例:

#include<fstream> //1、包含头文件 #include <string> //二进制文件 class Person { public: char Name[10]; //姓名 int age;//年龄 }; //写二进制文件 void binWfile() { Person p = { "张三",18}; //1、定义头文件 //2、流对象 ofstream ofs("Person.txt", ios::out | ios::binary); //3、打开文件 //ofs.open("Person.txt", ios::in | ios::binary); //4、写文件 ofs.write((const char*) & p,sizeof(Person)); //5、关闭文件 ofs.close(); } int main() { binWfile(); }


读文件:

二进制方式读文件主要利用流对象调用成员函数read

函数原型:istream& read(char *buffer,int len);

参数解释:字符指针buffer指向内存中一段存储空间。len是读写的字节数


示例:

#include<fstream> //1、包含头文件 //二进制文件 class Person { public: char Name[10]; //姓名 int age;//年龄 }; //读二进制文件 void binRfile() { Person p; //1、定义头文件 //2、流对象 ifstream ifs("Person.txt", ios::in | ios::binary); if (!ifs.is_open()) { cout << "二进制文件打开失败" << endl; return; } //3、打开文件 //ofs.open("Person.txt", ios::in | ios::binary); //4、读文件 ifs.read((char*)&p, sizeof(Person)); //ofs.write((const char*) & name, sizeof(Person)); cout << "姓名:" << p.Name << " 年龄:" << p.age << endl; //5、关闭文件 ifs.close(); } int main() { binRfile(); }


喜欢就点赞收藏吧~

本文共计1386个文字,预计阅读时间需要6分钟。

如何高效运用C语言进行复杂文件操作?

一、文件操作+文件操作头文件:#include 操作文件的三种流:

1.ofstream:写操作

2.ifstream:读操作

3.fstream:读写操作

1.文本文件+写文件+步骤:

1. 包含头文件 2. 创建ofstream对象 3. 打开文件 4. 写入数据 5. 关闭文件

一、文件操作

文件操作头文件:<fstream>

操作文件的三大流:

1、ofstream:写操作

2、ifstream:读操作

3、fstream:读写操作


1、文本文件

写文件

步骤:

1、包含头文件:#include<fstream>

2、创建流对象:ofstream ofs;

3、打开文件:ofs.open("文件路径",打开方式);

4、写数据:ofs<<"写入的数据"

5、关闭文件:ofs.close();


文件打开方式:

打开方式

解释

ios::in

为读文件而打开文件

ios::out

为写文件而打开文件

ios::ate

初始位置:文件尾

ios::app

追加方式写文件

ios::trunc

如果文件存在先删除,再创建

ios::binary

二进制方式

如何高效运用C语言进行复杂文件操作?

注意:文件的打开方式可以配合使用,用 | (或)操作符

例如:用二进制方式写文件

ios::binary | ios::out


示例:

#include<fstream> //1、包含头文件 void wfile() { //2、流对象 ofstream ofs; //3、打开文件 ofs.open("test.txt",ios::out); //4、写文件 ofs << "大鹏一日同风起" << endl; ofs << "扶摇直上九万里" << endl; ofs << "有约不来过夜半" << endl; ofs << "闲敲棋子落灯花" << endl; //关闭文件 ofs.close(); } int main() { wfile(); system("pause"); return 0; }


读文件:

步骤:

1、包含头文件:#include<fstream>

2、创建流对象:ifstream ifs;

3、打开文件并判断是否成功打开:ifs.open("文件路径",打开方式);

4、读数据:四种方式读取

5、关闭文件:ifs.close();


四种读取方式:

不推荐使用第四种,其余的可根据个人喜好使用,个人推荐第三种~


示例:

#include<fstream> //1、包含头文件 #include <string> void rfile() { //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; //} //第三种 string Buf; while (getline(ifs,Buf)) { cout << Buf << endl; } ////第四种 //char c; //while ((c = ifs.get()) != EOF) { // cout << c; //} //关闭文件 ifs.close(); } int main() { rfile(); system("pause"); return 0; }


2、二进制文件

打开方式指定为:ios::binary


写文件:

二进制方式写文件主要利用流对象调用成员函数write

函数原型 :ostream& write(const char * buffer,int len);

参数解释:字符指针buffer指向内存中一段存储空间。len是读写的字节数


示例:

#include<fstream> //1、包含头文件 #include <string> //二进制文件 class Person { public: char Name[10]; //姓名 int age;//年龄 }; //写二进制文件 void binWfile() { Person p = { "张三",18}; //1、定义头文件 //2、流对象 ofstream ofs("Person.txt", ios::out | ios::binary); //3、打开文件 //ofs.open("Person.txt", ios::in | ios::binary); //4、写文件 ofs.write((const char*) & p,sizeof(Person)); //5、关闭文件 ofs.close(); } int main() { binWfile(); }


读文件:

二进制方式读文件主要利用流对象调用成员函数read

函数原型:istream& read(char *buffer,int len);

参数解释:字符指针buffer指向内存中一段存储空间。len是读写的字节数


示例:

#include<fstream> //1、包含头文件 //二进制文件 class Person { public: char Name[10]; //姓名 int age;//年龄 }; //读二进制文件 void binRfile() { Person p; //1、定义头文件 //2、流对象 ifstream ifs("Person.txt", ios::in | ios::binary); if (!ifs.is_open()) { cout << "二进制文件打开失败" << endl; return; } //3、打开文件 //ofs.open("Person.txt", ios::in | ios::binary); //4、读文件 ifs.read((char*)&p, sizeof(Person)); //ofs.write((const char*) & name, sizeof(Person)); cout << "姓名:" << p.Name << " 年龄:" << p.age << endl; //5、关闭文件 ifs.close(); } int main() { binRfile(); }


喜欢就点赞收藏吧~