C语言中 如何建立一个储存数据的文件

2025-02-26 18:42:24
推荐回答(4个)
回答1:

struct School /* 学校结构体 */
{
int scnum; //学校序号
int team; //团队总分
int mteam; //男子团队总分
int fteam; //女子团队总分
};

//存储格式:结构体
struct School sc[20]; //学校结构体,最多20个学校

void fileinput(void) //文件导入
{
FILE *fp;
int i;
if((fp=fopen("list","rb"))==NULL) //二进制读方式打开文件list,返回NULL则打开失败
printf("cannot open file\n");
for(i=0;i<20;i++)
{
if(fread(&sc[i],sizeof(struct School),1,fp)!=1) //若返回-1则读失败,下面的写失败类似
printf("error\n");
}
fclose(fp);
}

void fileoutput(void) //导出文件
{
FILE *fp;
int i;
if((fp=fopen("list","wb"))==NULL) //二进制写方式打开文件list
{
printf("cannot open file\n");
return;
}
for(i=0;i {
if(fwrite(&sc[i],sizeof(struct School),1,fp)!=1)
printf("file write error\n");
}
fclose(fp);
}

回答2:

在C++下有更简单的语句; 

AnsiString filepath=ExtractFilePath(Application->ExeName);//在.EXE的文件夹路径下 
SetCurrentDir(filepath);
 bool dtemp = DirectoryExists("临时文件存储");
 if (dtemp==false)
 CreateDir("临时文件存储");
 SetCurrentDir(filepath+"\\临时文件存储");
 filepath=GetCurrentDir();  //生成保存文件路径

 AnsiString   filename;
 filename = "";             //双引号内写一个你的文件名称
 if(! DirectoryExists(filename))
    CreateDir(filename);
 SetCurrentDir(filepath+"\\"+filename);

回答3:

汗死了,大一有理由不会编程,但是没有理由分不清C和C++吧?!我也是大一的,我现在都能用两种语言写你这个程序了

回答4:

为什么总有人把SOSO当成是不劳而获的地方,或者是免费获取作业答案的地方,现在的大学生是怎么了!