第1个回答 2019-06-30
#include<iostream> using namespace std; typedef struct stu { char sno[5]; float math,chinese,english,avg,sum; }student; int main() { student s[4]; for(int i=0;i<4;++i) { sprintf(s[i].sno,"%d",i); s[i].math=i; s[i].chinese=i; s[i].english=i; s[i].avg=i; s[i].sum=i; } FILE *fp=fopen("1.txt","w"); if(fp) { for(int i=0;i<4;++i) fwrite(&s[i],sizeof(student),1,fp); //写入结构数据,用于测试 fclose(fp); } fp=fopen("1.txt","r"); int count=0; if(fp) { char *buf=new char[sizeof(student)]; while(fread(buf,sizeof(student),1,fp)!=NULL) //一个个结构读 ++count;//读入一个结构,加1 fclose(fp); } //输出文件中的结构数 cout<<"count="<<count<<endl; return 0; }
第2个回答 2019-06-30
#include <stdio.h> //标准头文件,提供宏va_start,va_arg,va_end,用于存取变长参数表
#include <stdlib.h>
#include <stdarg.h>
#define TRUE 1
#define FALSE 0
#define ERROR 0
#define OVERFLOW -1
#define OK 1
#define INFEASIBLE -2
#define MAX_ARRAY_DIM 8 //假设数组最大维数为8
#define UNDERFLOW -1
typedef int Status;
//数组的物理存储结构
typedef struct
{
ElemType *base; //数组元素基址,有InitArray分配
int dim; //数组维数
int *bounds; //数组维数基址
int *constants; //数组映像函数基址
}
//数组的基本操作
Status InitArray(Array &A,int dim,……)
{
//若维数dim和随后的各维长度合法,则构造相应的数组A,并返回OK