在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
教学内容: l 打开二进制文件 l 写二进制文件 l 读二进制文件
一、打开二进制文件 FILE *fopen( const char *filename, const char *mode ); filename是要操作的文件名。
二、写二进制文件 size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream ); //count*size 是要写入文件的字节数 buffer是缓冲区指针 stream是文件指针(或者流指针) 三、读二进制文件 size_t fread( void *buffer, size_t size, size_t count, FILE *stream ); //count*size 是要读取的字节数 buffer是缓冲区指针 stream是文件指针(或者流指针)
int main(void) { //未重定向的代码 char num[256]; FILE *f; stu_data stu10[10]={0}; int i; time_t t1; struct tm * tm1; f=fopen("test.txt","rb"); //fprintf(f,"ddddd"); if (f==NULL) //if (!f) { //fprintf(stderr,"文件打开出错或者是文件不存在 \n");//stdout perror("test.txt"); } ////获取数据并写入文件 //for (i=0;i<10;i++) //{ // scanf("%s",&stu10[i].name ); // time(&t1); // tm1=localtime(&t1); // //记录签到时间//记录学生 姓名和签到时间 // stu10[i].stuTime.hour=tm1->tm_hour; // stu10[i].stuTime.min=tm1->tm_min; // stu10[i].stuTime.sec=tm1->tm_sec; //} ////写入到二进制文件里 //fwrite(stu10,sizeof(stu_data),10,f); //读取二进制文件数据至stu10缓冲区 fread(stu10,sizeof(stu_data),10,f); //显示数据 for (i=0;i<10;i++) { printf("name=%s ",stu10[i].name); printf("时间:%d-%d-%d \n",stu10[i].stuTime.hour,stu10[i].stuTime.min,stu10[i].stuTime.sec); } fclose(f); getchar(); getchar(); return 0; }
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论