C++文件操作示例
- 格式:doc
- 大小:50.00 KB
- 文档页数:5
C语言文件操作方法及示例文件操作是计算机程序中常见的基本操作之一,它涉及到读取和写入文件的内容。
而在C语言中,通过使用文件操作函数,我们可以方便地进行文件的创建、打开、读取、写入、关闭等操作。
在本文中,我将介绍C语言中常用的文件操作方法,并提供相应的示例代码。
一、文件操作的基本步骤在进行文件操作之前,我们首先需要包含<stdio.h>头文件,该头文件中包含了C语言中文件操作所需的函数和常量。
文件操作的基本步骤如下:1. 打开文件通过使用fopen()函数,我们可以打开一个文件,并创建一个文件指针,用于后续的读写操作。
函数的原型如下:FILE *fopen(const char *filename, const char *mode);其中,filename是文件名,可以是相对路径或者绝对路径;mode是文件的打开方式,可以是"r"(只读方式打开)、"w"(写入方式打开)、"a"(追加方式打开)等。
2. 读取文件内容一旦文件成功打开,我们可以使用fscanf()或者fgets()函数等进行文件内容的读取。
“fscanf()”函数用于以格式化的方式从文件中读取内容,而“fgets()”函数用于一行一行地读取字符串。
示例代码如下:```cFILE *fp;int num;char str[100];fp = fopen("example.txt", "r");if (fp == NULL) {printf("Failed to open the file.\n");return -1;}fscanf(fp, "%d", &num);fgets(str, sizeof(str), fp);fclose(fp);```3. 写入文件内容与读取文件内容类似,我们可以使用fprintf()或者fputs()函数将内容写入文件中。
c语言移动文件的方法在C语言中,移动文件通常需要使用操作系统提供的文件系统API。
不同的操作系统可能有不同的API,但大多数操作系统都提供了类似的功能。
下面是一个使用C语言在Unix/Linux系统上移动文件的示例代码:```cinclude <>include <>include <>include <>int main() {char source_file[100], destination_file[100];int result;printf("Enter the source file name: ");scanf("%s", source_file);printf("Enter the destination file name: ");scanf("%s", destination_file);result = rename(source_file, destination_file);if (result == 0) {printf("File moved successfully.\n");} else {printf("Error moving file.\n");exit(1);}return 0;}```在这个示例中,我们使用了`rename()`函数来移动文件。
该函数接受两个参数:源文件名和目标文件名。
如果函数成功执行,它将返回0,否则返回-1并设置`errno`变量以指示错误原因。
请注意,此示例仅适用于Unix/Linux系统。
如果您要在其他操作系统上移动文件,您需要使用该操作系统提供的相应API。
CC++关于⽂件的读写操作以及⽂件的打开和保存通过近来的学习,总结⼀下关于⽂件的读写操作以及⽂件的打开和保存的⽅法。
⼀、⽂件的读写操作:(1)C语⾔对⽂件的读写操作在C语⾔中,对⽂件的读写操作是⽤FILE结构体和常⽤的对⽂件操作的函数实现的,下⾯总结⼀下C语⾔中对⽂件操作的常⽤函数:fopen() 打开以⽂件名指定的⽂件fwrite() 写⽂件fread() 读⽂件fseek() 移动⽂件的指针到新的位置通过该函数的参数设定的偏移量和初始位置rewind() 移动⽂件的指针到⽂件流的开始位置,在通常情况下可⽤fseek()实现相同的功能,但⼆者有区别ftell() 获得当前⽂件指针的位置,常⽤该函数获得⽂件的⽂件流的长度fflush() 刷新缓冲区中的内容,当⽂件写⼊时直接将⽂件流的内容从缓冲区写⼊磁盘,当读取⽂件时直接将磁盘⽂件写⼊缓冲区,⽽不必等程序运⾏结束或关闭程序。
fclose() 关闭⽂件memset() 在⼀段内存块中填充某个给定的值⽰例代码如下:/*********************************************************** C语⾔实现⽂件写操作 ************************************************************/FILE *pFile=fopen("CLanguage.txt","w");fwrite("CLanguage",1,strlen("CLanguage"),pFile);//fseek(pFile,0,SEEK_SET);//fwrite("实现⽂件写操作",1,strlen("实现⽂件写操作"),pFile);fclose(pFile);/*********************************************************** C语⾔实现⽂件读操作 ************************************************************/FILE *pFile=fopen("CLanguage.txt","r");//char ch[100];//memset(ch,0,100);//fread(ch,1,100,pFile);//MessageBox(ch);char* pBuf;int length;fseek(pFile,0,SEEK_END);length=ftell(pFile);pBuf=new char[length+1];//fseek(pFile,0,SEEK_SET);rewind(pFile);fread(pBuf,1,length,pFile);pBuf[length]=0;MessageBox(pBuf);fclose(pFile);注意:在⽤C语⾔实现⽂件的读操作时,要注意⽂件的指针位置。
好的,我可以为您提供一个使用C语言循环覆盖写文件的示例代码,字数为1500字。
首先,我们需要了解一些基本概念和数据结构,例如文件操作、循环结构和指针。
然后,我们将编写一个简单的程序,该程序使用循环来覆盖文件中的现有内容,并写入新的文本。
下面是一个简单的示例代码:```c#include <stdio.h>#include <stdlib.h>int main() {FILE *fp;char filename[] = "output.txt";char content[100];int i, count = 0;// 打开文件以进行写入fp = fopen(filename, "w");if (fp == NULL) {printf("无法打开文件%s\n", filename);exit(1);}// 循环覆盖文件内容并写入新的文本while (count < 10) {printf("请输入要写入文件的新文本(最多10个字符):");scanf("%s", content);fprintf(fp, "%s\n", content);count++;}// 关闭文件fclose(fp);printf("文件已成功覆盖并写入新文本。
\n");return 0;}```在这个示例中,我们首先定义了一个文件指针`fp`,用于打开和操作文件。
我们还定义了一个字符串数组`content`,用于存储用户输入的新文本。
我们还定义了一个计数器`count`,用于循环覆盖文件内容并写入新文本。
最后,我们使用`fopen()`函数打开文件以进行写入操作,并检查是否成功打开文件。
如果打开失败,则输出错误消息并退出程序。
接下来,我们使用一个循环来多次覆盖文件内容并写入新文本。
c使用inifile案例IniFile是一个用于处理INI文件的C库,它提供了一些函数来读取、写入和修改INI文件中的配置项。
INI文件是一种常见的配置文件格式,通常用于保存程序的配置信息。
以下是使用IniFile库进行INI 文件操作的一些示例:1. 创建INI文件并写入配置项```#include <stdio.h>#include <inifile.h>int main() {IniFile* ini = inifile_create("config.ini");inifile_set_string(ini, "Section1", "Key1", "Value1");inifile_set_int(ini, "Section1", "Key2", 123);inifile_set_double(ini, "Section2", "Key3", 3.14);inifile_save(ini);inifile_destroy(ini);return 0;}```2. 读取INI文件中的配置项```#include <stdio.h>#include <inifile.h>int main() {IniFile* ini = inifile_load("config.ini");char* value1 = inifile_get_string(ini, "Section1", "Key1", NULL); int value2 = inifile_get_int(ini, "Section1", "Key2", 0);double value3 = inifile_get_double(ini, "Section2", "Key3", 0.0); printf("Value1: %s\n", value1);printf("Value2: %d\n", value2);printf("Value3: %f\n", value3);inifile_destroy(ini);return 0;}```3. 修改INI文件中的配置项```#include <stdio.h>#include <inifile.h>int main() {IniFile* ini = inifile_load("config.ini");inifile_set_string(ini, "Section1", "Key1", "NewValue1");inifile_set_int(ini, "Section1", "Key2", 456);inifile_set_double(ini, "Section2", "Key3", 2.718); inifile_save(ini);inifile_destroy(ini);return 0;}```4. 删除INI文件中的配置项```#include <stdio.h>#include <inifile.h>int main() {IniFile* ini = inifile_load("config.ini");inifile_remove_key(ini, "Section1", "Key1");inifile_remove_key(ini, "Section1", "Key2");inifile_remove_key(ini, "Section2", "Key3");inifile_save(ini);inifile_destroy(ini);return 0;}```5. 遍历INI文件中的所有配置项```#include <stdio.h>#include <inifile.h>int main() {IniFile* ini = inifile_load("config.ini");IniSection* section = ini->sections;while (section != NULL) {printf("[%s]\n", section->name);IniItem* item = section->items;while (item != NULL) {printf("%s=%s\n", item->key, item->value);item = item->next;}section = section->next;}inifile_destroy(ini);return 0;}```这些示例展示了使用IniFile库进行INI文件操作的基本方法。
c语言读取文件内容C语言读取文件内容。
在C语言中,我们经常需要读取文件的内容进行处理,比如配置文件、日志文件等。
下面我们就来学习一下如何在C语言中读取文件内容。
首先,我们需要使用C语言中的文件操作函数来打开文件。
我们可以使用fopen函数来打开一个文件,语法如下:```c。
FILE fopen(const char filename, const char mode);```。
其中,filename是要打开的文件名,mode是打开文件的模式,比如"r"表示只读,"w"表示只写,"a"表示追加写入等。
fopen函数会返回一个指向FILE类型的指针,我们可以通过这个指针来操作文件。
接下来,我们可以使用fgets函数来逐行读取文件内容,语法如下:```c。
char fgets(char str, int n, FILE stream);```。
其中,str是一个指向字符数组的指针,n是要读取的最大字符数,stream是指向FILE类型的指针。
fgets函数会读取文件中的一行内容,并将其存储到str指向的字符数组中。
另外,我们也可以使用fscanf函数来按照指定的格式来读取文件内容,语法如下:```c。
int fscanf(FILE stream, const char format, ...);```。
fscanf函数可以按照指定的格式从文件中读取内容,并将其存储到对应的变量中。
比如,我们可以使用%f来读取一个浮点数,%d来读取一个整数等。
在读取文件内容之后,我们需要使用fclose函数来关闭文件,以释放资源,语法如下:```c。
int fclose(FILE stream);```。
fclose函数会关闭由stream指向的文件,并释放相关的资源。
总结一下,我们可以通过fopen函数打开文件,然后使用fgets或者fscanf函数来读取文件内容,最后使用fclose函数关闭文件。
C#⽂件的拆分与合并操作⽰例C#⽂件的拆分与合并操作⽰例代码。
全局变量定义 int size=100;//⽂件⼤⼩//拆分、合并的⽂件数int count;FileInfo splitFile;string splitFliePath;FileStream splitFileStream;FileInfo joinFile;string joinFliePath;FileStream joinFileStream;拆分⽂件操作private void CheckSplit_Click(object sender, EventArgs e){OpenFileDialog fd = new OpenFileDialog();if (fd.ShowDialog() == DialogResult.OK){txtFilePath.Text = fd.FileName;splitFile = new FileInfo(fd.FileName);splitFliePath = splitFile.FullName.Substring(0, splitFile.FullName.Length - fd.SafeFileName.Length);splitFileStream = new FileStream(splitFile.FullName, FileMode.Open, FileAccess.Read);}}private void btnSplit_Click(object sender, EventArgs e){int length = (int)splitFileStream.Length;txtSplit.AppendText(Environment.NewLine + "拆分⽂件的⼤⼩:" + length + "\r\n");count = length / (size * 1024);count = length % (size * 1024) == 0 ? count : count + 1;for (int i = 1; i <= count; i++){using (FileStream fgstream = new FileStream(splitFliePath + (i - 1) + splitFile.Extension, FileMode.OpenOrCreate, FileAccess.Write)){if (i == count){size = length - (count - 1) * 102400;}else{size = 102400;}byte[] buffer = new byte[size];int data = 0;if ((data = splitFileStream.Read(buffer, 0, buffer.Length)) > 0){BinaryWriter bWriter = new BinaryWriter(fgstream, Encoding.Default);bWriter.Write(buffer, 0, data);}}txtSplit.AppendText(Environment.NewLine + "拆分出⽂件:" + splitFliePath + (i - 1) + splitFile.Extension + "\r\n");}txtSplit.AppendText(Environment.NewLine + "拆分完成!\r\n");}合并⽂件操作private void CheckJoin_Click(object sender, EventArgs e){OpenFileDialog fd = new OpenFileDialog();if (fd.ShowDialog() == DialogResult.OK){txtFlie.Text = fd.FileName;joinFile = new FileInfo(fd.FileName);joinFliePath = "C:\\Users\\XXXX\\Desktop\\合并\\";}}private void btnJoin_Click(object sender, EventArgs e){using (joinFileStream = new FileStream(joinFliePath + "join" + joinFile.Extension, FileMode.OpenOrCreate, FileAccess.Write)){for (int i = 0; i < count; i++){using (FileStream readStream = new FileStream(joinFile.FullName.Substring(0, joinFile.FullName.Length - joinFile.Extension.Length - 1) + i + joinFile.Extension, FileMode.Open, FileAccess.Read)) {byte[] buffer = new byte[readStream.Length];int data = 0;if ((data = readStream.Read(buffer, 0, buffer.Length)) > 0){BinaryWriter binary = new BinaryWriter(joinFileStream, Encoding.Default);binary.Write(buffer, 0, data);}}txtJoin.AppendText(Environment.NewLine + "合并⽂件:" + splitFliePath + (i) + splitFile.Extension + "\r\n");}txtJoin.AppendText(Environment.NewLine + "合并完成!\r\n");txtJoin.AppendText(Environment.NewLine + "合并后⽂件的⼤⼩:" + joinFileStream.Length + "\r\n");}}。
C语言读写文件操作C语言中提供了丰富的文件读写操作函数,可以用来打开、创建、读取、写入、关闭文件。
下面将介绍这些函数的使用方法。
1.打开文件在C语言中,我们可以使用`fopen`函数来打开一个文件。
该函数的原型如下:```cFILE *fopen(const char *filename, const char *mode);```其中,`filename`是要打开的文件名,`mode`是打开文件的模式。
常见的文件打开模式有以下几种:-`"r"`:只读模式,打开文件用于读取数据。
-`"w"`:写入模式,若文件存在,则清空文件内容;若文件不存在,则创建文件。
-`"a"`:追加模式,若文件存在,则在文件末尾追加内容;若文件不存在,则创建文件。
-`"r+"`:读写模式,打开一个已存在的文件,可以读取、写入文件内容。
-`"w+"`:读写模式,若文件存在,则清空文件内容;若文件不存在,则创建文件。
-`"a+"`:读写模式,若文件存在,则在文件末尾追加内容;若文件不存在,则创建文件。
打开文件成功后,`fopen`函数返回一个类型为`FILE*`的指针,用于后续的文件读写操作。
示例代码:```cFILE *fp = fopen("file.txt", "r");if (fp == NULL)printf("打开文件失败\n");return -1;```2.关闭文件在文件读写操作完成后,我们需要使用`fclose`函数来关闭文件,释放资源。
该函数的原型如下:```cint fclose(FILE *stream);```其中,`stream`是要关闭的文件指针。
示例代码:```cint result = fclose(fp);if (result == 0)printf("关闭文件成功\n");} elseprintf("关闭文件失败\n");```3.读取文件内容C语言中提供了多个函数用于从文件中读取数据,常用的函数有:- `fgetc`:从文件中读取一个字符。
c语言文件操作的一般步骤概述及解释说明1. 引言1.1 概述本文旨在介绍C语言文件操作的一般步骤,并对每个步骤进行详细解释说明。
文件操作在程序开发中非常重要,它可以实现数据的读取、写入和修改等功能,为程序与外部环境之间的交互提供了便捷途径。
C语言作为一种通用高级编程语言,也提供了丰富的文件操作函数和方法。
1.2 文章结构本文分为5个主要部分,包括引言、C语言文件操作的一般步骤、解释说明、实例演示和结论。
- 引言部分将简要介绍文章内容和目的。
- C语言文件操作的一般步骤将详细阐述打开文件、读取或写入文件内容以及关闭文件这三个基本步骤。
- 解释说明将深入解析每个步骤所涉及到的方法、参数和函数,并提供使用注意事项。
- 实例演示将给出几个具体案例,展示如何在实际程序中应用C语言文件操作技术。
- 结论部分总结C语言文件操作的一般步骤并强调其重要性。
1.3 目的通过本文,读者可以了解C语言文件操作过程中需要经历哪些基本步骤,了解每个步骤的具体操作方法和使用注意事项。
同时,通过实例演示部分的案例,读者可以更好地掌握C语言文件操作的实际应用技巧。
最终目的是帮助读者在编程过程中能够熟练、安全地进行文件操作,提高程序开发效率和质量。
以上是文章“1. 引言”部分内容,请根据需要对其进行适当修改和完善。
2. C语言文件操作的一般步骤:在C语言中,文件操作是非常常见和重要的任务之一。
通过文件操作,我们可以打开、读取、写入或关闭文件。
下面将详细介绍C语言文件操作的一般步骤。
2.1 打开文件:首先要进行文件操作的第一步就是打开一个文件。
在C语言中,我们使用fopen()函数来打开一个文件,并返回该文件对应的指针。
fopen()函数需要两个参数:要打开的文件名和打开的模式。
其中,要打开的文件名可以是相对路径或绝对路径,具体取决于你想要操作的文件位于何处。
而打开模式用于指定我们是以什么方式来使用该文件(例如只读、只写等)。
常用的打开模式有以下几种:- "r": 以只读方式打开一个已存在的文本文件。
c读取配置文件的方法在C语言中读取配置文件是非常常见的操作,它可以方便地管理程序的一些参数和选项,让程序更加灵活和易于维护。
下面是一些常见的方法:1. 使用标准库函数fopen和fscanf这是最常见的方法之一,使用标准库函数fopen和fscanf来逐行读取配置文件中的内容。
具体实现步骤如下:a. 使用fopen打开配置文件,获取文件指针。
b. 使用fscanf读取每一行的内容,根据具体的配置格式进行解析。
c. 关闭文件指针。
示例代码:FILE *fp;char buf[1024];int value;fp = fopen('config.ini', 'r');if (fp == NULL){printf('Cannot open config file.');return -1;}while (fgets(buf, sizeof(buf), fp) != NULL){if (sscanf(buf, 'key=%d', &value) == 1){// 解析成功,使用读取到的值进行后续操作printf('value=%d', value);}}fclose(fp);2. 使用ini配置文件解析库ini配置文件解析库是一个专门用来解析ini配置文件的库,它能够快速、简单地读取和修改ini文件中的配置项。
具体实现步骤如下:a. 下载并安装ini解析库。
b. 使用ini_parse函数读取配置文件。
c. 使用ini_get函数获取配置项的值。
示例代码:#include 'ini.h'int handler(void* user, const char* section, const char* name,const char* value)if (strcmp(section, 'config') == 0 && strcmp(name, 'key') == 0){// 获取配置项的值int* pvalue = (int*)user;*pvalue = atoi(value);}return 1;}int main(){int value;if (ini_parse('config.ini', handler, &value) < 0){printf('Cannot open config file.');return -1;}printf('value=%d', value);return 0;3. 使用XML配置文件解析库XML配置文件解析库是一个专门用来解析XML格式的配置文件的库,它能够解析复杂的XML文件,并且提供了灵活的配置项操作方式。
在C++语言中进行文件操作的一般步骤如下。
(1)为要进行操作的文件定义一个流。
(2)建立(或打开)文件。
如果文件不存在,则建立该文件;如果磁盘上已存在该文件,则打开它。
(3)进行读/写操作。
在建立(或打开)的文件上执行所要求的输入/输出操作。
一般来说,在主存与外设的数据传输中,由主存到外设叫做输出或写,而由外设到主存叫做输入或读。
(4)关闭文件。
当不需要进行其他输入输出操作时,应把已打开的文件关闭。
文件读写有很多种方法,大家的课题掌握以下两种即可。
(1)利用get( )和put( )函数实现将文本文件abc.txt的内容复制到文本文件xyz.txt。
中去。
(abc.txt文件需要事先建立)//example8_8.cpp:利用get( )和put( )函数实现将文本文件的复制#include <fstream>#include <iostream>using namespace std;int main(){ifstream ifile("d:\\abc.txt"); //打开被复制的源文件abc.txt,该文件事先已在D盘建立if(!ifile) //判断文件是否被正常打开{cout<<"abc.txt cannot be openned!"<<endl;return;}ofstream ofile("d:\\xyz.txt"); //在d盘根目录下建立目标文件xyz.txtif(!ofile) //判断文件是否被正常打开{cout<<"xyz.txt cannot be openned!"<<endl;return;}char ch;while(ifile .get(ch)) //从源文件中读入一个字符给变量chofile.put(ch); //将变量ch的值写入目标文件ifile. close(); //关闭源文件ofile.close(); //关闭目标文件return 0;}(2)使用运算符“>>”与“<<”使用运算符“>>”可以将文件中的信息读入内存,但这时要用与文件相连接的输入流对象名来代替cin;使用运算符“<<”可以将内存中的信息写到磁盘文件,但这时需要用与文件相连接的输出流对象名来代替cout。
【例8.7】使用流运算符“<<”和“>>”对文本文件操作示例。
//example8_7.cpp:使用"<<"运算符向文件中写内容,使用">>"运算符从文件中读内容示例#include<fstream>#include <iostream>using namespace std;void CreateFile(char *s);void ReadFile(char *s);int main( ){CreateFile("f1.txt"); //建立f1.txt文件ReadFile("f1.txt"); //读取f1.txt文件内容并在显示器上显示return 0;}void CreateFile(char *s) //建立一个文本文件{ofstream outf (s); //定义输出流对象outf,打开s文件if(! outf) //判断文件是否正常打开{ cout << "Cannot open the file\n";return ;}outf << 10 << " " << 71.2718; //向文件中写入一个整数、一个实数outf << "\"This is a short text file.\"\n";outf.close(); //关闭文件}void ReadFile(char * s) //读取一个文本文件的内容{int i=0; //定义若干内存变量double d=0;char str[50];ifstream inf( s); //定义输入流对象inf,打开s文件if(!inf) //判断文件是否正常打开{ cout << "Cannot open the file\n";return ;}inf >>i>>d; //从文件中读数据赋给内存变量cout <<i<<" " <<d; //向屏幕输出内存变量的值inf.getline(str,50); //从文件中读出含空格的字符串cout<<str<<"\n"; //向屏幕输出字符串的值inf.close();}(3)用read()与write()函数实现文件操作(对记录进行操作)【例7.15】利用read()与write()函数实现二进制文件stu.dat的读写,文件中存放的是学生记录。
//li7_5.cpp:用read()和write()函数进行记录的读写#include <fstream.h>#include <string.h>class Student{ char num[10];char name[10];char sex[3];int score;public:Student(char *nu="",char *na="",char *se="",int s=0);friend ostream & operator<<(ostream &out,const Student &s);};Student::Student(char *nu,char *na,char *se,int s){ strcpy(num,nu);strcpy(name,na);strcpy(sex,se);score=s;}ostream & operator<<(ostream &out,const Student &s) //重载<<{ out<<s.num<<" "<<<<" "<<s.sex<<" "<<s.score<<endl;return out;}void CreateBiFile(char *filename) //建立一个二进制文件{ ofstream out(filename); //打开文件Student stu[3]={Student("B06031104","冯婷","女",92),Student("B06031109","王卫卫","男",95),Student("B06031127","陈健星","男",98)};out.write((char *)stu,sizeof(Student)*3); //一次向文件中写入3条记录out.close( ); //关闭文件}void ReadBiFile(char *filename) //从二进制文件读取信息输出{ Student stu[5];int i=0;ifstream in(filename); //打开文件while (!in.eof( )) //当文件结束标记未被标识时in.read((char * )&stu[i++],sizeof(Student));//逐条读取记录放入数组for (int j=0;j<i-1;j++) cout<<stu[j]; //实际记录条数为i-1in.close( ); //关闭文件}void main( ){ CreateBiFile("stu.dat"); //调用函数建立存学生信息的文件stu.dat ReadBiFile("stu.dat"); //调用函数读取二进制文件stu.dat}程序的运行结果为:B06031104 冯婷女92B06031109 王卫卫男95B06031127 陈健星男98(4)用输入流>>和输出<<操作文件(记录的读写)#include <fstream.h>#include <string.h>class Student{ char num[10];char name[10];char sex[3];int score;public:Student(char *nu="",char *na="",char *se="",int s=0);friend ostream & operator<<(ostream &out,const Student &s);friend istream & operator >>(istream &in, Student &s);};Student::Student(char *nu,char *na,char *se,int s){ strcpy(num,nu);strcpy(name,na);strcpy(sex,se);score=s;}ostream & operator<<(ostream &out,const Student &s) //重载<<{ out<<s.num<<" "<<<<" "<<s.sex<<" "<<s.score<<endl;return out;}istream & operator >>(istream &in, Student &s) //重载>>{in>>s.num>>>>s.sex>>s.score ;return in;}void CreateBiFile(char *filename) //建立一个二进制文件{ ofstream out(filename); //打开文件Student stu[3]={Student("B06031104","冯婷","女",92),Student("B06031109","王卫卫","男",95),Student("B06031127","陈健星","男",98)};for (int i=0;i<3;i++) //逐条写入记录out<<stu[i];out.close( ); //关闭文件}void ReadBiFile(char *filename) //从二进制文件读取信息输出{ Student stu[5];int i=0;ifstream in(filename); //打开文件while (!in.eof( )) //当文件结束标记未被标识时in>>stu[i++]; //逐条读取记录放入数组for (int j=0;j<i-1;j++) cout<<stu[j]; //实际记录条数为i-1in.close( ); //关闭文件}void main( ) //下面两个函数,首次运行时调第一个函数,后面运行只要调第二个函数{//CreateBiFile("d:\\stu.txt"); //调用函数建立存学生信息的文件stu.txt ReadBiFile("d:\\stu.txt"); //调用函数读取文件stu.txt}。